问题描述
关于我的问题的一些背景信息:我使用 2x2 设置对 2 种不同的材料进行了试验。每次处理都是重复进行的,结果在我的数据集中总共运行了 2x2x2x2 = 16 次。数据集具有以下标题,其中重复次数为 1 或 2(就像在 duplo 中执行的那样)。
|运行 |重复 |材料 |风速|班级。速度 |感兴趣的参数|
我想将其转换为具有以下标题的数据框/表格,从而产生 8 列:
|运行 |材料 |风速|班级。速度 |来自重复 1 的感兴趣参数 |来自重复 2 的感兴趣参数 |
这意味着每次处理(材料组合,设置 1 和设置 2)只显示一次,感兴趣的参数显示两次。
code rep material airspeed classifier_speed fine_fraction
1 L17 1 lupine 50 600 1
2 L19 2 lupine 50 600 6
3 L16 1 lupine 60 600 9
4 L22 2 lupine 60 600 12
5 L18 1 lupine 50 1200 4
6 L21 2 lupine 50 1200 6
我已将其融化如下:
melt1 <- melt(duplo_selection,id.vars = c("material","airspeed","classifier_speed","rep"),measure.vars=c("fine_fraction"))
然后尝试按如下方式进行转换:
cast <- dcast(melt1,material + airspeed + classifier_speed ~ variable,value.var = "value")
这给出了以下消息:
和这个数据框,其中计算了感兴趣的参数,而不是呈现两个值。
解决方法
感谢您的努力和时间来帮助我解决问题,经过一番困惑后,我发现了我必须做的事情。
我在每个观察中添加了 replicate,无论是 1 还是 2,因为试验是在重复中进行的。
通过代码
cast <- dcast(duplo_selection,material + airspeed + classifier_speed ~ replicate,value.var = "fine_fraction")
我来到了我要找的 5 x 8 桌。