R语言 添加两个存在NA的变量

pdtvr36n  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(218)

假设数据是"ab":

a <- c(1,2,3,NA,5,NA)
b <- c(5,NA,4,NA,NA,6)
ab <-c(a,b)

1.我想有一个新的变量,它是两者之和,但保持NA的如下:期望输出:

ab$c <-(6,2,7,NA,5,6)

所以number + NA相加应该等于number
我尝试了以下操作,但未按预期工作:

ab$c <- a+b

得到:6 NA 7 NA NA NA
也不知道如何包括"na. rm = TRUE",我一直在尝试。
1.我还想创建第三个变量,作为基于临界值〈= 4的分类变量,然后创建事件1,否则创建0:期望输出:

ab$d <-(1,1,1,NA,0,0)

我试过:

ab$d =ifelse(ab$a<=4|ab$b<=4,1,0)
print(ab$d)

得到了logical(0)
谢谢!

db2dz4w8

db2dz4w81#

a <- c(1,2,3,NA,5,NA)
b <- c(5,NA,4,NA,NA,6)

dfd <- data.frame(a,b)

dfd$c <- rowSums(dfd, na.rm = TRUE)
dfd$c <- ifelse(is.na(dfd$a) & is.na(dfd$b), NA_integer_, dfd$c)
dfd$d <- ifelse(dfd$c >= 4, 1, 0)
dfd

   a  b  c  d
1  1  5  6  1
2  2 NA  2  0
3  3  4  7  1
4 NA NA NA NA
5  5 NA  5  1
6 NA  6  6  1

相关问题