我有一个实验的数据集,其中每一行都是一个特定的测试。每个参与者都做了多次测试每个参与者都由参与者列中的唯一ID标识。
我想重新制作我的数据,以便每一行都是一个参与者,数据在列中。我尝试使用reshape
库中的强制转换,但我的命令不起作用:
cast(myData, particiant ~ Age)
例如,要获得各自年龄段的参与者行。
非常感谢任何帮助。
答案 0 :(得分:1)
在没有数据的情况下,这是我对你的问题的最好猜测,并且假设我的猜测是正确的。
# create dummy data
mydf = data.frame(participant = rep(1:3, each = 3),
test = rep(letters[1:3], times = 3),
result = sample(100, 9, replace = T))
以下是数据框的外观
participant test result
1 1 a 20
2 1 b 17
3 1 c 63
4 2 a 60
5 2 b 67
6 2 c 16
7 3 a 49
8 3 b 64
9 3 c 75
现在,如果您希望每一行都包含参与者的所有测试结果,请按以下方式cast
进行操作。
mydf2 = cast(data = mydf, participant ~ test, value = "result")
这为我们提供了如下所示的数据框
participant a b c
1 1 20 17 63
2 2 60 67 16
3 3 49 64 75
如果您可以dput
数据框,那么为您的问题提供更自定义的解决方案并诊断错误会更容易。希望这很有用