我有两个长度相同的向量,我想要合并它们,以便填充彼此缺失的值。例如:
我正在寻找这个输出结果:
a=c("",1,2,"")
b=c(5,"","",6)
我正在寻找这个输出结果:
5 1 2 6
非常感谢
a=c("",1,2,"")
b=c(5,"","",6)
5 1 2 6
非常感谢
在这种情况下,通常通过pmax
进行的数字比较也可以使用:
as.numeric(pmax(a,b))
#[1] 5 1 2 6
这是因为在处理字符数据时,R会采用字母数字排序来进行max
/min
等操作:
max(c("b","a"))
#[1] "b"
并且:
as.numeric(paste(a,b))
[1] 5 1 2 6
或者:
a[a==""] <- b[b!=""]
as.numeric(a)
# [1] 5 1 2 6
a[a == ""] <- 0
b[b == ""] <- 0
a <- as.numeric(a)
b <- as.numeric(b)
output <- a + b
as.numeric(ifelse(a != "", a, b))