前言:
微博参与话题 #给你四年时间你也学不会生信#
Divide into Groups and Reassemble | 重新组合
函数split()可以按照分组因子,把向量,矩阵和数据框进行适当的分组。它的返回值是一个列表,代表分组变量每个水平的观测。这个列表可以使用sapply(),lappy()进行处理(apply – combine步骤),得到问题的最终结果。
只是分组,既可以对向量分组,也可以对数据框分组
Usage
split(x, f, drop = FALSE, ...)
## Default S3 method:
split(x, f, drop = FALSE, sep = ".", lex.order = FALSE, ...)
split(x, f, drop = FALSE, ...) <- value
unsplit(value, f, drop = FALSE)
Arguments | 参数
- x: 一个待分组的向量或者data frame
- f: 函数,一个factor或者list(如果list中元素交互作用于分组中),以此为规则将x分组
- drop: 逻辑值,如果f中的某一个level没有用上则被弃用
- value: 一个储存向量的list,其形式类似于分组完成之后返回的那个list
Example | 例子
> d <- data.frame(gender=c("M","M","F","M","F","F"),age=c(47,59,21,32,33,24),income=c(55000,88000,32450,76500,123000,45650), over25=rep(c(1,1,0), times=2))
> d
gender age income over25
1 M 47 55000 1
2 M 59 88000 1
3 F 21 32450 0
4 M 32 76500 1
5 F 33 123000 1
6 F 24 45650 0
> split(d$income, list(d$gender,d$over25)) #将income按照gender、over25分组
$`F.0`
[1] 32450 45650
$M.0
numeric(0)
$F.1
[1] 123000
$M.1
[1] 55000 88000 76500
参考资料:
网友评论