在我的论坛上搜索我的问题的答案没有结果,我最近来的是:subset data.frame union multiple intervals!但我不明白这对我有什么帮助。也许我对英语的阅读理解力很弱。
所以,我有一个包含246个人的数据框$scope.F1s_Selection = years[0];
,所有人都有一个特定的代码来匿名。代码是14列之一,其余是问卷的答案。一个例子:
study_a
我希望找到1-2999,4251-4599和7000-7500之间的那些值,最后擦除这些行(即个体),因为它们不应该包括在本研究中。
除了我尝试过的链接外:
"Code"
2
653
2678
3965
7342
4258
5245
但是这个功能似乎不适用于多个间隔。此外,当我尝试指定要检查的列值时,我收到错误消息(因为除了“代码”之外还有13列)。
先谢谢你的帮助,如果这个问题已经解决了,我会非常感谢你找到它的链接。
答案 0 :(得分:1)
您应该使用方括号和逻辑来查看R中的索引。例如。
study_a[(study_a$Code <= 2999) & (study_a$Code >= 4251),]
修改强>
使用%in%
和!
NOT运算符来否定重叠:
study_a[ !study_a$code %in% c(1:2999, 4251:4599, 7000:7500), ]
答案 1 :(得分:0)
使用子集功能
xx <- c(1:2999, 4251:4599, 7000:7500)
study_a <- subset(study_a, !code %in% xx )