在删除 NA 的同时向量化加法
Vectorize addition whilst removing NA
我正在尝试将标量添加到向量中。但是,当我的标量为 NA 时,我希望它被忽略,类似于 sum
.
中使用的 na.rm = TRUE
参数
即
1:3 + x
returns NA NA NA
如果 x 已分配 NA
。我想 return 1 2 3
。
我试过了
sum(1:3, NA, na.rm = T)
但这并没有矢量化加法,只是 returns 1+2+3 = 6.
有什么好的方法可以做到这一点吗?
谢谢
您可以使用 replace
:
x <- NA
1:3 + replace(x, is.na(x), 0)
#[1] 1 2 3
x <- 2
1:3 + replace(x, is.na(x), 0)
#[1] 3 4 5
我正在尝试将标量添加到向量中。但是,当我的标量为 NA 时,我希望它被忽略,类似于 sum
.
na.rm = TRUE
参数
即
1:3 + x
returns NA NA NA
如果 x 已分配 NA
。我想 return 1 2 3
。
我试过了
sum(1:3, NA, na.rm = T)
但这并没有矢量化加法,只是 returns 1+2+3 = 6.
有什么好的方法可以做到这一点吗?
谢谢
您可以使用 replace
:
x <- NA
1:3 + replace(x, is.na(x), 0)
#[1] 1 2 3
x <- 2
1:3 + replace(x, is.na(x), 0)
#[1] 3 4 5