r - 将两个变量组合成新变量

标签 r if-statement

如有任何帮助,我们将不胜感激。

我有 A 和 B,想得到 AB 作为 A 或 B 的最大值并考虑 NA

A<-c(1,1,1,0,0,0,NA,NA,NA)
B<-c(1,0,NA,1,0,NA,1,0,NA)
AB<-c(1,1,1,1,0,0,1,0,NA)
TEST<-cbind(A,B,AB)

      A  B AB
[1,]  1  1  1
[2,]  1  0  1
[3,]  1 NA  1
[4,]  0  1  1
[5,]  0  0  0
[6,]  0 NA  0
[7,] NA  1  1
[8,] NA  0  0
[9,] NA NA NA

最佳答案

pmax() 函数与 na.rm=TRUE 一起使用:

> AB <- pmax(A, B, na.rm=TRUE)
> TEST <- cbind(A, B, AB)
> TEST
       A  B AB
 [1,]  1  1  1
 [2,]  1  0  1
 [3,]  1 NA  1
 [4,]  0  1  1
 [5,]  0  0  0
 [6,]  0 NA  0
 [7,] NA  1  1
 [8,] NA  0  0
 [9,] NA NA NA

关于r - 将两个变量组合成新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33748175/

相关文章:

r - data.table 的 frollmean() 和 forecast 的 ma() 之间的细微差别,顺序相同

java - 有没有更好的方法来编写与我相同的代码?

c++ - 编码新手需要有关 if 语句的帮助

excel - 如何以编程方式查找/调试(查找位置)丢失的 `End If`

php - 函数中返回/回显的最简单方法(简写 IF)

R:用指标值替换预测值

R 保留重复行中 nas 最少的行

python - 如何使用 rPython 将参数从 R 输入到 Python?

javascript - 在 Shiny 数据表中为每个单元格显示工具提示或弹出窗口?

if-statement - 当我通过管道传送到 IF 命令时会发生什么?