我需要将数据分组到一个结构如下的表中:
# 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的总和表示该函数应该处理特定类型的一次出现以外的其他值。
是否有任何单一命令来实现这一目标?如果不是命令链可能是什么? 感谢。
答案 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