按类型1对数据帧进行分组,并将type2值作为列进行分组

时间:2017-07-17 10:30:20

标签: r dataframe grouping type-conversion

我需要将数据分组到一个结构如下的表中:

    # 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的总和表示该函数应该处理特定类型的一次出现以外的其他值。

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

1 个答案:

答案 0 :(得分:0)

有很多方法,但最简单的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