Как превратить таблицу со строками в список векторов в R? - PullRequest
0 голосов
/ 14 марта 2019

У меня есть набор данных, похожий на этот

> data.frame("letter" = letters, "words" = paste0(1:26,letters, letters,",", rev(letters),letters,5:26, ",", letters, 1:24, rev(letters)))
   letter          words
1       a    1aa,za5,a1z
2       b    2bb,yb6,b2y
3       c    3cc,xc7,c3x
4       d    4dd,wd8,d4w
5       e    5ee,ve9,e5v
...

И я хотел бы превратить эту таблицу в

[[a]]
[1] "1aa" "za5" "a1z"

[[b]]
[1] "2bb" "yb6" "b2y"

[[c]]
[1] "3cc" "xc7" "c3x"

[[d]]
[1] "4dd" "wd8" "d4w"

[[e]]
[1] "5ee" "ve9" "e5v"
...

Я попытался использовать цикл for, который работает для меня, однако, когда nrow этого фрейма данных увеличивается, это занимает больше времени. И я хотел бы знать, есть ли более чистый способ для этого?

Ваш ответ высоко ценится. Большое спасибо !!

1 Ответ

1 голос
/ 14 марта 2019

Функция strsplit - это то, что вы ищете.Попробуйте:

df = data.frame("letter" = letters, "words" = paste0(1:26,letters, letters,",", rev(letters),letters,5:26, ",", letters, 1:24, rev(letters)))
strsplit(as.character(df$words),',',fixed= TRUE)

[[1]]
[1] "1aa" "za5" "a1z"

[[2]]
[1] "2bb" "yb6" "b2y"

[[3]]
[1] "3cc" "xc7" "c3x"

[[4]]
[1] "4dd" "wd8" "d4w"

[[5]]
[1] "5ee" "ve9" "e5v"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...