长宽数据转化,一直是各种工具在数据处理上的难点。一般而言,宽数据更加符合人们的阅读习惯,易于查看,理解。但长数据更适合用来分析,进行各种的处理。 gg plo t 2 作图 在数据层上更倾向于长数据,一般像 : 分组添加曲线,以及 图例系统的完善都是长数据作图 ,再 修改完善 标度、 图例系统。 事实上,长宽数据的解释,比较麻烦,往往是不同的场合下有不同的特征,针对具体情形来谈,会更加合适。 基础函数中:
reshape()
,
stack()
, unstack() 是最早的该类函数,但目前,已普遍不被使用。 随着, reshape 包的出现,较好地解决了该类问题,随后, reshape2 包的升级,逐步完善。也奠定了 melt() 和 dcast() 函数的实际地位。之后的话,过渡到了 tidyr 包中的 gather() , spre a d() 函数。再往后,出现了 pivot_long( ) , pivot_wider() 函数。 到目前位置,长宽数据转换,也主要见于上述这些函数。当然,该类函数可见的教程较多,实在没有深入讲解的必要。
c('reshape2','tidyr','reshape') %>%
cran_downloads('last-month') %>%
ggplot(aes(date,count)) +
geom_line(aes(colour = package))
图像:
ggplot2
的长数据应用的流程。这样的模式,能够更加灵活,例如需要增加显示的:
tidyverse
c('reshape2','tidyr','reshape','tidyverse') %>%
cran_downloads('last-month') %>%
ggplot(aes(date,count)) +
geom_line(aes(colour = package))
图像:
c('reshape2','tidyr') %>%
cran_downloads(from = '20