我試圖通過循環運行我的數據框,以在每一行上執行一個函數,並使用結果更新列est
,ll
和ul
。我的數據框是onch
。循環似乎正在工作,除了est
,ll
和ul
的結果對於每行(可能是最後一次迭代)是相同的。任何想法,將不勝感激!R將數據附加到循環中的行
for (i in 1:nrow(onch)) {
row <- cbind(onch$c1, onch$c2, onch$c3)
pr1 <- removal(row)
a <- summary(pr1)
onch$est <- a[1]
b <- confint(pr1)
onch$ll <- b[1]
onch$ul <- b[2]
}
數據幀是這樣的:
onch
site date c1 c2 c3 est ll ul
1 H1 7/11/12 6 2 1 NA NA NA
2 H2 7/15/12 12 4 0 NA NA NA
感謝您的幫助!我還沒有解決nrow複製的問題,但這個工程:
for (i in 1:nrow(onch)) {
row <- cbind(onch$c1[i], onch$c2[i], onch$c3[i])
pr1<- removal(row)
a<- summary(pr1)
onch$est[i] <- a[1]
b <- confint(pr1)
onch$ll[i] <- b[1]
onch$ul[i] <- b[1,2]
}
如何看起來像(例如,名稱(onch))? –
你能分享一個數據樣本嗎?例如使用在以下網址解釋的原則:http://meta.stackexchange.com/questions/155375/embedding-data-from-csv-file-in-line-of-code/155377#155377 – Jochem
我看到的第一個問題是你沒有用'i'來引用任何東西。所以你在'for'循環內執行相同的進程不變的行,因爲循環內沒有'i'。其次,因爲R是按副本分配的,所以當你可以創建一個數據幀時,你無需創建'nrow(onch)'副本。最後,什麼是「刪除」功能? –