R语言想要筛选大量列中任意一列包含某一字符的行

想要筛选多列中包含某一字符的行,

img


如图,如果想要筛选出hepatom/spiders/edema/bili/chol的任意一列中包含1的行,并输出成一个新表,需要怎么办啊?
这个图中列数很少,所以能通过类似枚举的方法完成。但是实际情况有几百列,通过枚举太耗时间了,能不能利用循环完成筛选呢?

用循环来做的话,可以参考如下代码:

df<-read.csv('t0310.csv')
col=colnames(df)[2:5]
res=data.frame()
for (x in col){
    d<-df[which(df[x]==1),]
    res<-rbind(res,d)
}
res<-res[!duplicated(res$a),]
print(res)
   

头发都没了也没想出好办法

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632