假设(为简化起见)我有一个包含一些对照和治疗数据的表:

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)

07-24 13:58