在上一篇笔记中我们还遗留了几个问题:1、我们有时还需要更为精确地处理数据集中的数据,这时候涉及数据的整合和重铸;2、有些时候除了整合重铸,我们还需要利用控制流来自编函数。这一篇笔记就处理这两个问题。
整合重铸
R中有很多整合数据的方法,最简单的比如用t()对数据框进行转置。稍微复杂的是使用aggreate函数:
aggreate(data,by,FUN)
x是数据集,by是变量,FUN是函数,比如我们对mtcars数据集进行这样的操作,FUN使用均值函数mean。
attach(mtcars)
agg <- aggregate(mtcars,by=list(cyl,gear),FUN=mean,na.rm=T)
> agg
Group.1 Group.2 mpg cyl disp hp drat wt qsec vs am gear carb
1 4 3 21.5 4 120 97 3.70 2.46 20.0 1.0 0.00 3 1.00
2 6 3 19.8 6 242 108 2.92 3.34 19.8 1.0 0.00