Преобразовать списки внутри списка в символьный вектор - PullRequest
0 голосов
/ 11 февраля 2019

Мне нужно b , чтобы быть списком , но элементы в b должны быть символьным вектором

a <- list('foo bar','foobar')
b <- a %>% stringr::str_to_lower() %>% strsplit("[[:space:]]")

Здесь b - это список слов для каждого элементав a.Но b[1] тоже список.Мне нужно, чтобы b[1] был символьным вектором

Tried unlist(b, recursive = FALSE).Но это преобразование b в вектор.Мне просто нужно, чтобы b был плоским списком с двумя символьными векторами 1) "foo" "bar" 2) "foobar"

1 Ответ

0 голосов
/ 11 февраля 2019

b[1] - это список, потому что использование [i] для извлечения вещей из списка всегда возвращает список ;если i - это вектор длины 1, то вы получите список длины 1. b[[1]] возвращает вектор символов в соответствии с запросом.

> b[[1]]
[1] "foo" "bar"
> str(b[[1]])
 chr [1:2] "foo" "bar"

Как Хэдли Уикхем опубликовал в твиттере :

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...