我的原始数据如下所示
data
id1,id2,value
A,1,-1.09
B,1,-1.033
C,1,-1.5
A,2,9.1
B,2,2.006
C,2,-3.95
我尝试在R中使用reshape包来使用命令cast(data, id2 ~ id1)
对其进行整形,但这会将我的所有值从值列转换为1
A B C
1 1 1 1
2 1 1 1
当我真的希望它像这样。任何人都可以帮助我。
A B C
1 -1.09 -1.033 -1.5
2 9.1 2.006 -3.95
编辑:当我在演员函数结束时添加fun.aggregate = mean时,它为我工作。
答案 0 :(得分:2)
在dcast
中尝试reshape2
:
library(reshape2)
##
data <- read.table(
text="id1 id2 value
A 1 -1.09
B 1 -1.033
C 1 -1.5
A 2 9.1
B 2 2.006
C 2 -3.95",
header=TRUE)
##
> dcast(data,id2~id1)
id2 A B C
1 1 -1.09 -1.033 -1.50
2 2 9.10 2.006 -3.95
答案 1 :(得分:0)
我必须在最后添加聚合函数。
cast(data, id2 ~ id1,fun.aggregate = mean)