0

这应该是一个简单的,但我无法弄清楚我做错了什么。可能是一些愚蠢的事情......叹息......

所以在这里,我有一个大的小标题,我试图从中删除一些观察结果。我有一个索引逻辑向量,我想用它来获取我想要摆脱的观察结果:

 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"

谢谢

4

2 回答 2

2

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

你想要!index,没有-index。所以在你的情况下:df[!index,]

于 2017-05-09T16:53:25.250 回答
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)
于 2017-05-09T16:54:10.593 回答