在ddply中使用约?

时间:2016-02-10 22:00:04

标签: r plyr

我正在尝试使用约()来预测ddply内部曲线上的点,但是一旦它被传递给ddply它似乎没有像我期望的那样工作。

这一切都有效:

#Fake Data, V3 is my index variable
df<-data.frame(V1=rep(0:10,3), V2=c(exp(0:10), 2*exp(0:10), 3*exp(0:10)), V3=rep(1:3,each=11))

approxy<-function(i){
  estim<-approx(x=i$V1, y=i$V2, xout=c(1.1,5.1,9.1))$y
  return(data.frame(ex1=estim[1], ex5=estim[2], ex9=estim[3]))
}

approxy(df[df$V3==1,])

这不是:

ddply(df, c("V3"), fun=approxy)

它只是将原始数据帧吐出来。对此问题的任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:3)

您的语法不正确:

ddply(df, c("V3"), .fun=approxy)

给出

  V3      ex1      ex5       ex9
1  1 3.185359 173.9147  9495.422
2  2 6.370719 347.8294 18990.844
3  3 9.556078 521.7442 28486.266