【发布时间】:2021-11-14 00:48:49
【问题描述】:
我正在使用 R 编程语言。我有兴趣看看“c”语句是否可以与 R 中的“which”语句一起使用。例如,考虑以下代码(var1 和 var2 都是“Factor”变量):
my_file
var1 var2
1 A AA
2 B CC
3 D CC
4 C AA
5 A BB
ouput <- my_file[which(my_file$var1 == c("A", "B", "C") & my_file$var2 !== c("AA", "CC")), ]
但这似乎不起作用。
我可以单独运行这些条件中的每一个,例如
output <- my_file[which(my_file$var1 == "A" | my_file$var1 == "B" | my_file$var1 == "C"), ]
output1 <- output[which(output$var2 == "AA" | output$var2 == "CC" ), ]
但我想以更“紧凑”的形式运行它们,例如:
ouput <- my_file[which(my_file$var1 == c("A", "B", "C") & my_file$var2 !== c("AA", "CC")), ]
谁能告诉我我做错了什么?
谢谢
【问题讨论】:
-
使用
%in%而不是==。一种可能更简单的方法是使用dplyr中的filter函数,而不是长的which…。 -
但请注意
NA,因为例如NA %in% "A"提供FALSE而不是NA!
标签: r data-manipulation