美文网首页R语言
R语言_split()函数用法

R语言_split()函数用法

作者: 谢俊飞 | 来源:发表于2018-09-20 21:00 被阅读80次

    前言:
    微博参与话题 #给你四年时间你也学不会生信#

    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
    

    参考资料:

    1. R 学习笔记(5)-- 因子和表
    2. R中利用apply、tapply、lapply、sapply、mapply、table等函数进行分组统计

    相关文章

      网友评论

        本文标题:R语言_split()函数用法

        本文链接:https://www.haomeiwen.com/subject/nwgrgftx.html