我有一個數據幀(DF),並希望通過將第一列中的NA替換爲第二列中的值來組合第一列中的兩列。下面是一個示例DF:R結合兩個數據幀由NA
structure(list(A = structure(c(3L, 5L, 4L, 2L, 1L, NA, NA, NA,
NA, NA), .Label = c("five", "four", "one", "three", "two"), class = "factor"),
B = structure(c(4L, NA, NA, 2L, NA, 6L, 5L, 1L, 3L, 7L), .Label = c("eight",
"four", "nine", "one", "seven", "six", "ten"), class = "factor")), .Names = c("A",
"B"), row.names = c(NA, -10L), class = "data.frame")
正如您所看到的,DF包含兩列中從一到十的數字。
我希望列A中的NAs被列B中的值替換。但只有A的NAs!
我想:
X$A[is.na(X$A)] <- X$B[is.na(X$A)]
但是這給了我一個無效的因素級別的錯誤警告。
我發現的解決方案主要處理merge()或paste(),但我認爲這不會對此有所幫助。歡迎您的建議,如往常一樣:)
非常感謝!
是否有必要有因素而不是字符? – digEmAll
不,它不是。應該已經測試過了。抱歉。 –