根据R中的条件合并列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据R中的条件合并列相关的知识,希望对你有一定的参考价值。

我想合并两个列,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)
答案

如果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)

此外,您应该考虑以可复制粘贴的格式提供示例数据(就像我上面所做的那样)。这样可以更轻松地测试代码并提供答案。

以上是关于根据R中的条件合并列的主要内容,如果未能解决你的问题,请参考以下文章

如何根据一个数据帧中的列值和R中另一个数据帧的列标题名称有条件地创建新列

R基于具有添加条件的特定列合并两个数据集

R中的条件合并/替换

如何根据附加条件计算列中的价格?

根据某些条件添加两行或多行[重复]

4.3 合并重复的条件执行片段