2016-10-21 4 views
0

計算された変数に基づいてこのループ内にデータフレームを作成するにはどうすればよいですか?このループ内でデータフレームを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) 
} 
+1

'dataList = cbind(newData [、1]、newData [、2]、newData [、1] -Xmean)/(newData [、2] -Xmean))' – Vlo

答えて

1

あなたのループの外にデータフレームを保持するためのリストを作成することもできますが、このベクトル化を試してみてください:

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

それとも、あなたを使用することが続く場合自分のコード:

m <- matrix(0, nrow(newData), 3) 
for (i in 1:nrow(newData)){ 
    X<-newData[i,1] 
    Y<-newData[i,2] 
    dRatio <- ((X-Xmean)/(Y-Ymean)) 
    m[i,] <- c(X,Y,dRatio) 
} 
dataList <- as.data.frame(m) 
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) 
} 
+0

これはリストを作成します。データフレームを作成しますか? – elyraz

+0

これにより、データフレームのリストが作成されます。 – user124123

関連する問題