這裏是我的數據的例子:如何更改列中的值,同時檢查列中的值?
essay ns0_nns1 A_pred B_pred A_pred01 B_pred01
1 1 1 0.558 0.370 NA NA
2 2 0 0.293 0.654 NA NA
3 3 0 0.545 0.849 NA NA
4 4 0 0.432 0.698 NA NA
5 5 1 0.651 0.404 NA NA
6 6 0 0.657 0.502 NA NA
7 7 1 0.884 0.658 NA NA
8 8 1 0.736 0.348 NA NA
9 9 0 0.532 0.791 NA NA
10 10 0 0.180 0.789 NA NA
我需要去通過,如果A_pred是< = 0.5,則在A_pred01相應的行應該分配0,否則應分配1
我以爲我可以用一個循環做到這一點,所以我就來了:
for(i in dat$A_pred){
if(i<=0.5){
dat$A_pred01[i]=0
} else {
dat$A_pred01[i]=1}
}
這並沒有工作,雖然。我想我需要知道的是,我可以以某種方式爲A_pred01佔用一個與i對應的佔位符,並且它會在for循環中更改每個A_pred01值?我希望我所問的是有道理的,謝謝。
這工作,謝謝!但是,你能幫我理解「1:nrow(dat)」是怎麼回事嗎?再次感謝。 –
'nrow(dat)'是'dat'中的總行數。試試吧'1:nrow(dat)'會產生類似'1 2 3 4 5 6 ..'的東西。我們也可以做'1:length(A_pred)'或'1:length(essay)'。這是因爲數據幀的所有列具有相同的長度。如果您不熟悉運算符':',那麼'seq()'是一個輔助函數 –