我试图将两个二元变量组合成一个变量,所以如果一个变量中有0,另一个变量中有1,那么它就是1.这包含了Nas.示例

a <- c("A", NA, 0)
b <- c("B",0,  1)
c <- c("C", 0, 0)
d <- c("D", 0, 1)
e <- c("E", NA, NA)
aa<- rbind(a,b,c,d,e)
aa <- as.data.frame(aa) 

我想对此进行编码,以提供以下信息:

a <- c("A", NA, 0, 0)
b <- c("B",0,  1, 1)
c <- c("C", 0, 0, 0)
d <- c("D", 0, 1, 1)
e <- c("E", NA, NA, NA)
bb<- rbind(a,b,c,d, e)
bb <- as.data.frame(bb) 

我认为这是一个很容易解决的问题.

推荐答案

使用base R,使用rowSums通过将感兴趣的列与1进行比较来创建V4列,然后将‘V4’中的值替换为NA,其中第2列和第3列中有一行中的所有Na

aa$V4 <- rowSums(aa[-1] == 1,  na.rm = TRUE)
aa$V4[rowSums(is.na(aa[2:3])) == 2] <- NA

-输出

> aa
  V1   V2   V3 V4
a  A <NA>    0  0
b  B    0    1  1
c  C    0    0  0
d  D    0    1  1
e  E <NA> <NA> NA

R相关问答推荐

geom_raster不适用于x比例中超过2,15的值

将Multilinetring合并到一个线串中,使用sf生成规则间隔的点

在ggplot的注释表格中突出显示最大值

过滤矩阵以获得R中的唯一组合

从gtsummary包中使用tBL_strata()和tBL_summary()时删除变量标签

查找图下的面积

大规模重新标记haven标签数据

格点中指数、双曲和反双曲模型曲线的正确绘制

隐藏e_mark_line的工具提示

derrr summarise每个组返回多行?

在某些栏和某些条件下,替换dfs列表中的NA

用关联字符串替换列名的元素

线性模型斜率在减少原始数据时提供NA

无法定义沿边轨迹的 colored颜色 渐变(与值无关)

有没有办法使用ggText,<;Sub>;&;<;sup>;将上标和下标添加到同一元素?

R -使用矩阵reshape 列表

如何将EC50值绘制在R中的剂量-react 曲线上?

R/shiny APP:如何充分利用窗口?

reshape 数据帧-基于组将行转换为列

R data.设置函数&;连接中的列值而不使用for循环的表方法?