给定一个数据帧

structure(list(ID = c("ID001", "ID002", "ID003", "ID004", "ID005", 
"ID006"), Column2 = c(1L, 0L, 1L, 0L, 1L, 1L), Column3 = c(0L, 
0L, 0L, 0L, 0L, 0L), Column4 = c(1L, 0L, 1L, 1L, 0L, 0L), Column5 = c(1L, 
1L, 0L, 0L, 1L, 1L)), class = "data.frame", row.names = c(NA, 
-6L))

如何返回包含多个列的行中的ID?例如,第1行有3个单独的列,分别是第2、4、5列,所以应该返回ID001.但是,不应返回第2行,因为只有第5列有1,而没有其他列.

这些ID应该返回Id001、ID003、ID005、ID006

推荐答案

对于dplyr,您可以 Select filter来只保留包含多个行的行.然后,你可以 Select pull返回ID,只返回ID.

library(dplyr)

df %>% 
  filter(rowSums(select(., -ID)) > 1) %>% 
  pull(ID)

# [1] "ID001" "ID003" "ID005" "ID006"

R相关问答推荐

如果行和列名以相同的开头,将矩阵值设置为0

ggplot 2中的地块底图(basemaps_gglayer()不起作用)

根据shiny 应用程序中的数字输入更改图标 colored颜色

寻找图片边缘

如果行和大于值,则过滤

过滤器数据.基于两列的帧行和R中的外部向量

如何在ggplot图中找到第二轴的比例

计算满足R中条件的连续列

根据列A中的差异变异列,其中行由列B中的相对值标识

绘制采样开始和采样结束之间的事件

Data.table';S GForce-将多个函数应用于多列(带可选参数)

在保留列表元素属性的同时替换列表元素

函数可以跨多个列搜索多个字符串并创建二进制输出变量

有没有可能用shiny 的书签恢复手风琴面板?

如何从向量构造一系列双边公式

如何使用FormC使简单算术运算得到的数字是正确的?

变长向量的矢量化和

在生成打印的自定义函数中,可以通过变量将线型或 colored颜色 设置为NULL吗?

需要一个函数来在第一行创建一个新变量,然后用新变量替换一个不同的变量(对于多行)

R:改进实现简单模型