gpt4 book ai didi

r - 减去多列忽略 NA

转载 作者:行者123 更新时间:2023-12-01 14:41:54 27 4
gpt4 key购买 nike

我对 R 相当陌生,并且遇到了 NA 的问题。这个问题可能在别处得到了回答,但我似乎找不到答案。我正在尝试做与 rowSums() 相反的事情因为我试图减去 x2x3来自 x1为了生成 x4没有NA。我目前使用的代码如下:

> x <- data.frame(x1 = 3, x2 = c(4:1, 2:5), x3=c(1,NA))
> x$x4=x$x1-x$x2-x$x3
> x

x1 x2 x3 x4
1 3 4 1 -2
2 3 3 NA NA
3 3 2 1 0
4 3 1 NA NA
5 3 2 1 0
6 3 3 NA NA
7 3 4 1 -2
8 3 5 NA NA

换句话说,我想输入类似于 rowSums 的 NA允许 na.rm=TRUE参数,以便我得到这个结果:
  x1 x2 x3 x4
1 3 4 1 -2
2 3 3 NA 0
3 3 2 1 0
4 3 1 NA 2
5 3 2 1 0
6 3 3 NA 0
7 3 4 1 -2
8 3 5 NA -2

任何帮助是极大的赞赏。

最佳答案

如果所有列都有 NA,您可以使用类似的方法 -

x$x4 <- ifelse(is.na(x$x1),0,x$x1) -ifelse(is.na(x$x2),0,x$x2)-ifelse(is.na(x$x3),0,x$x3)

如果您想将 NA 视为 0。否则您可以将上述公式中的 0 替换为您需要的值。

关于r - 减去多列忽略 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23255318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com