0
我正在嘗試爲多個主題的我的數據框添加一個殘差的新組件。我可以單獨做到這一點,像這樣:如何爲數據框編制索引以便增強它?
subjectnew<-subset(Abc, condition=="gram" & subject==51)
subjectnew$resTime<-residuals(AbcModel[[51]])
但是,如果我在一個循環中運行它,試圖擴充原始數據框:
for (q in ids) {
Abc[which(Abc$condition=="gram" & Abc$subject==q),]$resTime<-residuals(AbcModel[[q]])
}
...其中ids
33個特定主題(即,ids<-c(51,52,...)
),我收到以下錯誤:
There were 33 warnings.
Warning messages:
1: In `[<-.data.frame`(`*tmp*`, which(Abc$condition == ... :
provided 18 variables to replace 17 variables
2: In `[<-.data.frame`(`*tmp*`, which(Abc$condition == ... :
provided 18 variables to replace 17 variables
...
我使用which
錯誤索引我的數據幀?
可能是因爲resTime列未在for循環內正確創建,因爲它只嘗試將值分配給某些行。也許在使用'subjectnew $ resTime < - NA'運行for循環之前創建列將有助於清除問題。 –
使用'Abc $ resTime <-NA'在循環前添加空列解決了問題;謝謝:)如果您提交的答案與@MattJewett相同,我會將其標記爲已接受。 – Xophmeister