Чтобы отфильтровать 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))
В качестве вывода я хотел бы получить список, возвращающий имена столбцов: "x1", "x2"
Я попробовал следующее, но код работаеттолько если «range» содержит все числа, указанные ниже, и соответствует, если число найдено. Это, к сожалению, не то, что мне нужно.
ranges<-c(15:300,10:20)
df.l<-colnames(df)[sapply(df,function(x) any(x %in% ranges))]
Есть идеи? Спасибо!