R-在此循环内创建数据框

时间:2016-10-21 14:42:14

标签: r

如何根据计算出的变量在此循环中创建数据框?

脚本:

for (i in  1:nrow(newData)){
  X<-newData[i,1]
  Y<-newData[i,2]
  dRatio <- ((X-Xmean)/(Y-Ymean)) 
  dataList <- data.frame(X,Y,dRatio)
}

2 个答案:

答案 0 :(得分:1)

您可以创建一个列表来保存循环之外的数据框

dataList<-list()
for (i in  1:nrow(newData)){
  X<-newData[i,1]
  Y<-newData[i,2]
  dRatio <- ((X-Xmean)/(Y-Ymean)) 
  dataList[[i]] <- data.frame(X,Y,dRatio)
}

答案 1 :(得分:1)

试试这个矢量化:

或者如果您坚持使用自己的代码:

dataList <- newData[,1:2]
dataList$dRatio <- ((newData[,1]-Xmean)/(newData[,2]-Ymean))