我正在嘗試向現有R dataframe
添加一個新列,該列將根據相應行值內的值添加一個新列。如果值是1
新列值應包含one
,如果值是2
新列值應包含two
,否則three or more
將具有自定義值的列添加到數據框
此代碼:
mydf <- data.frame(a = 1:6,
b = rep("reproducible", 6),
c = rep("example", 6),
stringsAsFactors = FALSE)
mydf
呈現:
使用代碼:
mydf["encoded"] <- { if (mydf['a'] == 1) 'one' else if (mydf['a'] == 2) 'two' else 'three or more' }
mydf
呈現:
警告也產生:
Warning message in if (mydf["a"] == 1) "one" else if (mydf["a"] == 2) "two" else "three or more":
「the condition has length > 1 and only the first element will be used」
一個新列被添加到dataframe
但所有值都相同:one
我還沒有實現了邏輯以正確添加新的列值?
這比手工編寫更好的條件:)喜歡你的答案,+1 – Wen