尝试对 tibble 进行子集化的问题

Issues trying to subset a tibble

这个应该很简单,但我不知道我做错了什么。可能有些蠢...唉...

好了,我有一个大标题,我正试图从中删除一些观察结果。我有一个索引逻辑向量,我想用它来获取我想删除的观察结果:

 df[index,]

让我对我不想要的观察结果如期而至。但是,我还需要访问我 运行

的剩余观察结果
df[-index,]

这个不行,我找回了原来的小标题,减去第一行。

我做错了什么?作为记录,索引变量的属性在下一段代码中。索引的长度符合预期,即原始小标题的长度。

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"

谢谢

你正在处理一个逻辑向量,你想要它的反义词,所以你想放 NOT。

你想要 !index,而不是 -index。所以在你的情况下:df[!index,]

有了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)