当指定列全为NA时替换DataFrame中check列的值为NA
解决方案
可以使用dplyr包中的mutate()和if_all()函数实现需求,具体代码如下:
library(dplyr) df <- df %>% mutate(check = if_else( # 检查empl到hum_aid的所有列是否全为NA if_all(empl:hum_aid, is.na), # 满足条件时替换为NA(用NA_integer_匹配原check列的整数类型) NA_integer_, # 不满足条件则保留原check值 check ))
代码说明
if_all(empl:hum_aid, is.na):逐行校验empl至hum_aid范围内的所有列是否均为NA,返回对应逻辑判断结果(TRUE/FALSE)。if_else():根据上述逻辑结果,对符合条件的行替换check值为NA,其余行保留原有值。
若未安装dplyr包,可先执行install.packages("dplyr")完成安装。
内容的提问来源于stack exchange,提问作者Stephen Okiya
相关产品推荐
相关产品推荐

