【发布时间】:2016-06-21 09:25:25
【问题描述】:
我需要在我的代码中使用任何应用函数而不是 for 循环。下面提到的是示例代码和函数。
这是我的数据
testdata<-data.table(x1=sample(1000),y1=sample(1000),x2=sample(1000),y2=sample(1000),h=sample(1000))
这是我的功能
testfunction<-function(x0,y0,x1,y1,x2,y2,h){
x<-x0+x1+x2+y0+y1+y2
y<-x+x0+y0
d<-x+y
R<-x+y+d
result <- data.frame(d,R,x,y)
return (result)
}
我当前的 for 循环代码是
resultdf<-data.frame(d=NA,R=NA,x=NA,y=NA)
for (i in 1:nrow(reqdata.LN)){
resultdf[i,]<-testfunction(x0=1.2,y0=2.1,testdata$x1[i],testdata$x2[i],
testdata$y1[i],testdata$y2[i],testdata$h[i])
}
我尝试过使用 lapply 和 sapply,但错误很少
bb<-lapply(1:nrow(testdata),testfunction,x0=1.2,y0=2.1,testdata$x1[i],testdata$x2[i],
testdata$y1[i],testdata$y2[i],testdata$h[i])
有人可以告诉如何使用这个应用功能。
【问题讨论】: