R reshape将所有值转换为1

时间:2014-10-31 22:02:23

标签: r dataframe reshape

我的原始数据如下所示

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时,它为我工作。

2 个答案:

答案 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)