所以我有以下代码:
ng-show="([state] | filter:filterText).length > 0"
此代码的作用是在dataset1中添加type =“black”或type =“orange”的数据集0的每一行。
如果我想除橙色和黑色之外的其他所有东西怎么办?以下是否正确?
library (dplyr)
dataset1 <- filter(dataset0, dataset0$type == "black" | dataset0$type == "orange")
提前谢谢。
答案 0 :(得分:1)
一种方法可能是:
dataset1 <- filter(dataset0, !(dataset0$type == "black" | dataset0$type == "orange") )
您的建议不正确。当你否定复合表达式时,如果你不否定整个表达式,你需要将OR改为AND。
dataset1 <- filter(dataset0, dataset0$type != "black" & dataset0$type != "orange")
这与dplyr无关。这只是基本逻辑。我还怀疑你不应该将数据帧名称包含在&#34; $&#34;逻辑表达式中的运算符。尝试:
dataset1 <- filter(dataset0, !(type == "black" | type == "orange") )
答案 1 :(得分:0)
您必须更改&#39;或&#39;到&#39;和&#39;,就像这样
首先,制作一些假数据
type <- c(rep("black", 5), rep("orange", 5), rep("green", 5))
dataset0 <- as.data.frame(type)
现在使用逻辑语句中的&
进行子集
dataset1 <- filter(dataset0, dataset0$type != "black" & dataset0$type != "orange")
如果您不将|
更改为&
,则会返回原始数据框(包括橙色和黑色),如下所示:
dataset1 <- filter(dataset0, dataset0$type != "black" | dataset0$type != "orange")
dataset1
type
1 black
2 black
3 black
4 black
5 black
6 orange
7 orange
8 orange
9 orange
10 orange
11 green
12 green
13 green
14 green
15 green