1
我有以下數據框:誤差ifelse語句
a <- c("OK", "OK", "2", "3", "5")
b <- c(1, 2, 3, 4, 5)
df <- data.frame(a, b)
如果DF $ a的值是「OK」,我想價值是無論是在DF $ B 。
如果df $ a中的值不是「OK」,我希望它保持不變。
所以,最好是在這種情況下,DF $一個將成爲:1,2,2,3,5
我試着用下面的ifelse語句,但得到的錯誤「狀態具有長度> 1只有第一個元素將被使用「。
if(df$a == "OK") {
df$a <- df$b
} else {
df$a <- df$a
}
因此,df $ a只是變成了df $ b,else語句沒有被評估。我相信這是一個簡單的修復,但不知道我哪裏出錯了。謝謝你的幫助!