我对R很陌生。
我想使用称为SE_CSVLinelist_clean
的表提取其中名为where_case_travelled_1
的变量不包含字符串"Outside Canada"
或"Outside province/territory of residence but within Canada"
的行。然后创建一个名为SE_CSVLinelist_filtered
的新表。
SE_CSVLinelist_filtered <- filter(SE_CSVLinelist_clean,
where_case_travelled_1 %in% -c('Outside Canada','Outside province/territory of residence but within Canada'))
当我仅使用“c”而不是“-c”时,以上代码有效。
因此,当我真的要排除包含该国家或省份以外的行时,如何指定以上内容?
最佳答案
请注意,%in%
返回TRUE
和FALSE
的逻辑 vector 。要取消它,可以在逻辑语句前面使用!
:
SE_CSVLinelist_filtered <- filter(SE_CSVLinelist_clean,
!where_case_travelled_1 %in%
c('Outside Canada','Outside province/territory of residence but within Canada'))
关于
-c(...)
的原始方法,-
是一元运算符,“对数字或复数 vector (或可强制转换为它们的对象)执行算术”(来自help("-")
)。由于您要处理的字符 vector 不能强制为数字或复数,因此不能使用-
。关于r - 如何在dplyr过滤器中指定 “does not contain”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34444295/