这个应该是一个简单的,但我无法弄清楚我做错了什么。可能是一些愚蠢的......叹息......
所以它就这样,我有一个大的tibble,我试图删除一些观察。我有一个索引逻辑向量,我想用它来获取我想要删除的观察结果:
df[index,]
让我对我不想要的观察结果进行了抨击。但是,我还需要访问我正在运行的其余观察
df[-index,]
这个不起作用,我回到原来的第三行,而不是第一行。
我做错了什么?对于记录,索引变量的属性位于下一段代码中。索引的长度如预期的那样,即原始tibble的长度。
class(index)
[1] "logical"
str(index)
logi [1:5220] TRUE FALSE .......
length(index)
[1] 5220
dim(df)
[1] 5220 9
class(df)
[1] "tbl_df" "tbl" "data.frame"
由于
答案 0 :(得分:2)
你正在处理一个逻辑向量而你想要与之相反,所以你想要把NOT。
您需要!index
,而不是-index
。所以在你的情况下:df[!index,]
答案 1 :(得分:1)
使用tibble
,我们可以使用filter
library(tidyverse)
df %>%
filter(index)
如果我们想要反过来,则否定(!
)
df %>%
filter(!index)
set.seed(24)
index <- sample(c(TRUE, FALSE), 10, replace = TRUE)
df <- tibble(col1 = 1:10)