假设(为简化起见)我有一个包含一些对照和治疗数据的表:
Which, Color, Response, Count
Control, Red, 2, 10
Control, Blue, 3, 20
Treatment, Red, 1, 14
Treatment, Blue, 4, 21
对于每种颜色,我想要一行包含控制和处理数据,即:
Color, Response.Control, Count.Control, Response.Treatment, Count.Treatment
Red, 2, 10, 1, 14
Blue, 3, 20, 4, 21
我猜想这样做的一种方法是在每个控制/处理子集上使用内部合并(在“颜色”列上合并),但是还有更好的方法吗?我本来以为reshape包或stack函数可以以某种方式做到这一点,但我不确定。
最佳答案
使用重塑包装。
首先,融合您的data.frame:
x <- melt(df)
然后投射:
dcast(x, Color ~ Which + variable)
根据您使用的重塑软件包的版本,它可以是
cast()
(重塑)或dcast()
(重塑2)瞧