首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何根据r dplyr中的两个条件将值替换为NA?

在R语言的dplyr包中,你可以使用mutate()函数结合case_when()函数来根据两个条件将值替换为NA(Not Available)。以下是一个示例代码:

代码语言:txt
复制
library(dplyr)

# 创建一个示例数据框
df <- data.frame(
  A = c(1, 2, 3, 4, 5),
  B = c(10, 20, 30, 40, 50),
  C = c(100, 200, 300, 400, 500)
)

# 根据条件将值替换为NA
df <- df %>%
  mutate(
    A = case_when(
      B > 20 & C < 400 ~ NA_real_,  # 如果B大于20且C小于400,则将A的值替换为NA
      TRUE ~ A  # 其他情况保持A的原值
    )
  )

print(df)

在这个例子中,我们创建了一个包含三列(A、B、C)的数据框df。然后,我们使用mutate()函数和case_when()函数来检查每一行的B列和C列的值。如果B列的值大于20且C列的值小于400,那么A列的对应值就会被替换为NA。TRUE ~ A这一部分确保了如果不满足上述条件,A列的值保持不变。

输出结果将是:

代码语言:txt
复制
   A  B    C
1  1 10  100
2  2 20  200
3 NA 30  300
4  4 40  400
5  5 50  500

可以看到,只有第三行的A列值被替换成了NA,因为它是唯一B列值大于20且C列值小于400的行。

参考链接:

  • dplyr官方文档:https://dplyr.tidyverse.org/
  • case_when函数说明:https://dplyr.tidyverse.org/reference/case_when.html
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券