我想合并两列 lat.x 和 lat.y ,因此我得到一个新列 lat 。
数据:
lat.x lat.y lat
1 1 1
2 2 2
NA 3 3
4 NA 4
5 6 5
我试过了:
df2$Lat <- ifelse(df$Lat.x == "NA", df$Lat.y, df$Lat.x)
答案 0 :(得分:1)
如果x == "NA"
是一个字符为x
的文字字符串,则您无法使用"NA"
测试NA。相反,您应该使用基函数is.na()
。
这有效:
df <- data.frame(
lat.x = c(1, 2, NA, 4, 5),
lat.y = c(1, 2, 3, NA, 5)
)
df$lat <- ifelse(is.na(df$lat.x), df$lat.y, df$lat.x)
此外,您应该考虑以可复制粘贴的格式提供示例数据(就像我上面所做的那样)。这样可以更轻松地测试代码并提供答案。