R ddply返回的结果太多

R ddply返回的结果太多,r,plyr,R,Plyr,由于某种原因,自从升级到R-2.13.0和升级到plyr_1.5.1.tar.gz之后,我得到的结果比我预期的要多。。。我在plyr的一个旧版本上尝试了这个(版本不确定,因为我刚刚覆盖了它…) 我从R版本2.13.0(2011-04-13)获得的结果 为什么results2得到的是8行而不是4行,results3得到的是12行而不是4行 谢谢, Sean这将很快在plyr 1.5.2中解决,是ddply()中的c()函数造成了问题 下面是三种可供选择的方法,您可以为results3编写语句,逐步

由于某种原因,自从升级到R-2.13.0和升级到plyr_1.5.1.tar.gz之后,我得到的结果比我预期的要多。。。我在plyr的一个旧版本上尝试了这个(版本不确定,因为我刚刚覆盖了它…)

我从R版本2.13.0(2011-04-13)获得的结果

为什么results2得到的是8行而不是4行,results3得到的是12行而不是4行

谢谢,
Sean

这将很快在
plyr 1.5.2
中解决,是ddply()中的c()函数造成了问题

下面是三种可供选择的方法,您可以为results3编写语句,逐步变得更简单:

  • 在函数中使用data.frame:

    ddply(dd,c(“dim1”,“dim2”),函数(df){data.frame(m1=平均值(df$v1),
    m2=平均值(df$v2),m3=平均值(df$v3))})

  • 使用摘要:

    ddply(dd,dim1,dim2),总结,m1=平均值(v1),m2=平均值(v2),m3=平均值(v3))

  • 使用numcolwise

    ddply(dd,dim1,dim2),numcolwise(mean))

  • 在每种情况下,结果都是您所期望的:

      dim1 dim2          m1         m2          m3
    1    A    J -0.04272659 -0.1468376  0.17902942
    2    B    J -0.10133503 -0.1427358 -0.05241214
    3    B    K  0.29698847 -0.0989732  0.14422812
    4    C    K  0.04108324  0.2014864 -0.15893221
    

    在1.4.1中正常工作,以防其他人也升级了所有内容:
    > results1
      dim1 dim2          m1
    1    A    J  0.07312783
    2    B    J -0.22428746
    3    B    K -0.44205832
    4    C    K  0.21421456
    > results2
      dim1 dim2          m1         m2
    1    A    J  0.07312783 -0.1130148
    2    B    J -0.22428746  0.4394832
    3    B    K -0.44205832 -0.1934018
    4    C    K  0.21421456 -0.0178809
    > results3
      dim1 dim2          m1         m2          m3
    1    A    J  0.07312783 -0.1130148 -0.03175873
    2    B    J -0.22428746  0.4394832  0.21581696
    3    B    K -0.44205832 -0.1934018 -0.28313530
    4    C    K  0.21421456 -0.0178809 -0.21948430
    
    > results1
      dim1 dim2         m1
    1    A    J -0.2270726
    2    B    J  0.5860493
    3    B    K -0.5986129
    4    C    K  0.3135809
    > results2
      dim1 dim2         m1          m2
    1    A    J -0.2270726 -0.19037813
    2    B    J  0.5860493 -0.05385395
    3    B    K -0.5986129  0.29404095
    4    C    K  0.3135809 -0.26744010
    5    A    J -0.2270726 -0.19037813
    6    B    J  0.5860493 -0.05385395
    7    B    K -0.5986129  0.29404095
    8    C    K  0.3135809 -0.26744010
    > results3
       dim1 dim2         m1          m2          m3
    1     A    J -0.2270726 -0.19037813 -0.20448734
    2     B    J  0.5860493 -0.05385395 -0.11190857
    3     B    K -0.5986129  0.29404095 -0.27072101
    4     C    K  0.3135809 -0.26744010 -0.03184949
    5     A    J -0.2270726 -0.19037813 -0.20448734
    6     B    J  0.5860493 -0.05385395 -0.11190857
    7     B    K -0.5986129  0.29404095 -0.27072101
    8     C    K  0.3135809 -0.26744010 -0.03184949
    9     A    J -0.2270726 -0.19037813 -0.20448734
    10    B    J  0.5860493 -0.05385395 -0.11190857
    11    B    K -0.5986129  0.29404095 -0.27072101
    12    C    K  0.3135809 -0.26744010 -0.03184949
    
      dim1 dim2          m1         m2          m3
    1    A    J -0.04272659 -0.1468376  0.17902942
    2    B    J -0.10133503 -0.1427358 -0.05241214
    3    B    K  0.29698847 -0.0989732  0.14422812
    4    C    K  0.04108324  0.2014864 -0.15893221