【问题标题】:Group dataframe by a type1 and place type2 values as columns [duplicate]按type1对数据框进行分组并将type2值作为列[重复]
【发布时间】:2017-07-17 19:46:27
【问题描述】:

我需要在一个结构如下的表中对数据进行分组:

    # origin  type amount
    1      1    t1    100
    2      1    t2    100
    3      1    t3    100
    4      2    t1    100
    5      2    t2    100
    6      1    t1    100

得到一个像这样的表格:

    #    t1  t2  t3
    1   200 100 100
    2   100 100  NA

新表的维度来自“origin”和“type”列的值。相同类型值和 NA 的总和表示该函数应处理的不是特定类型的一次出现。

是否有任何单一的命令可以实现这一目标?如果不是,命令链可能是什么? 谢谢。

【问题讨论】:

    标签: r dataframe grouping type-conversion


    【解决方案1】:

    有很多方法,但最简单的base R 选项是

    xtabs(amount~origin + type, df1)
    

    tapply

    with(df1, tapply(amount, list(origin, type), FUN = sum))
    #   t1  t2  t3
    #1 200 100 100
    #2 100 100  NA
    

    【讨论】:

      猜你喜欢
      • 2019-08-29
      • 1970-01-01
      • 2021-03-25
      • 2021-02-09
      • 1970-01-01
      • 2015-05-28
      • 2014-09-03
      • 2021-12-09
      • 2021-11-01
      相关资源
      最近更新 更多