Подмножество вектора списков в R - PullRequest
3 голосов
/ 10 января 2020

Допустим, у меня есть вектор списков:

library(tidyverse)

d <- tribble(
  ~x,
  c(10, 20, 64),
  c(22, 11),
  c(5, 9, 99),
  c(55, 67),
  c(76, 65)
)

Как я могу установить этот вектор таким образом, чтобы, например, у меня были строки со списками, длина которых больше 2? Вот моя неудачная попытка использовать тидиверс:

filter(d, length(x) > 2)
# A tibble: 5 x 1
  x        
  <list>   
1 <dbl [3]>
2 <dbl [2]>
3 <dbl [3]>
4 <dbl [2]>
5 <dbl [2]>

Ответы [ 2 ]

5 голосов
/ 10 января 2020

Это будет lengths, так как 'x' является list

library(dplyr)
d %>%
     filter(lengths(x) > 2)
3 голосов
/ 10 января 2020

Вы можете использовать subset() + lengths()

subset(d,lengths(x)>2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...