在R中找不到匹配项时的替代项()
如果没有元素在R中找不到匹配项时的替代项(),r,logical-operators,R,Logical Operators,如果没有元素TRUE,则which命令将删除所有数据行。使用iris数据集进行演示,让我们尝试删除不存在物种的行 dim(iris[-which(iris$Species=="nonsense"),]) # [1] 0 5 删除所有行,但使用条件直接返回预期结果 dim(iris[iris$Species!="nonsense",]) # [1] 150 5 这个问题得到了解决,公认的答案是=上面的解决方案。但是,我需要将条件结果存储在一个变量中 x <- which(iris$S
TRUE
,则which
命令将删除所有数据行。使用iris
数据集进行演示,让我们尝试删除不存在物种的行
dim(iris[-which(iris$Species=="nonsense"),])
# [1] 0 5
删除所有行,但使用条件直接返回预期结果
dim(iris[iris$Species!="nonsense",])
# [1] 150 5
这个问题得到了解决,公认的答案是=代码>上面的解决方案。但是,我需要将条件结果存储在一个变量中
x <- which(iris$Species=="nonsense")
最佳和最安全的做法是什么?存储逻辑值或存储整数位置,并在对yoursubset 0)iris[-x]进行子集设置时进行检查,否则iris
@Roland这就是我现在使用的。它看起来很笨重,而且我有忘记支票的倾向。我想知道是否有一个优雅的解决方案。我会存储逻辑值。如果内存非常紧张,我只会在这里使用哪个
。@Roland你会将你的回答作为答案来获得积分吗?存储逻辑值或存储整数位置,并在对你的子集0)iris[-x,]进行子集设置时进行检查,否则iris
@Roland这就是我现在使用的。它看起来很笨重,而且我有忘记支票的倾向。我想知道是否有一个优雅的解决方案。我会存储逻辑值。如果内存非常紧张,我只会在这里使用,
。@Roland你能把你的回答作为一个答案来获得学分吗?
x <- iris$Species=="nonsense"