【发布时间】:2019-11-09 15:55:06
【问题描述】:
为了仅针对感兴趣的列过滤 data.frame,我需要在此 data.frame 中找到包含特定范围之外数据的列。 让data.frame成为
df<-data.frame(x1=c(1,5,9),x2=c(10,20,30),x3=c(20,100,1000))
ranges<-data.frame(y1=c(3,8),y2=c(10,20), y3=c(15,1250))
作为输出,我想要一个返回 colnames 的列表:"x1","x2"
我尝试了以下方法,但代码仅在“范围”包含下面指定的所有数字时才有效,并且在找到数字时匹配。不幸的是,这不是我需要的。
ranges<-c(15:300,10:20)
df.l<-colnames(df)[sapply(df,function(x) any(x %in% ranges))]
有什么想法吗? 谢谢!
【问题讨论】:
标签: r range match multiple-columns columnname