R Составьте список на основе другого списка с разными длинами - PullRequest
0 голосов
/ 12 мая 2018

Я получил список с различной длиной строк, то есть у меня есть фильмы, книги, журналы, веб-сайты

a<-(movies, books,magazines, web)

, и я получил 500 названий фильмов, 498 именных книг, 469 журнальных журналовname и 516 web name, все эти значения содержатся в списке объектов (список называется e);Итак, у меня есть список из 4, но я не могу использовать view (e)

View (e) Ошибка в View: аргументы подразумевают различное количество строк: 500, 498, 469, 516

Я должен использовать $, чтобы проверить значения для каждой "переменной"

e$movies

Итак, я хочу создать что-то вроде этого:

Variables   Value
movie       Dr. No
movie       From Russia with Love
movie       Goldfinger
movie       Thunderball 
books       Around the World in Eighty Days
books       Journey to the Center of the Earth
magazine    Automotive News
magazine    Bloomberg Businessweek
magazine    Motor Trend
magazine    Aviation Week & Space Technology
magazine    Black Enterprise

Я хочу изменить его на data.frame, потому что у меня будет больше переменных (около 10 000), и для каждой переменной у меня будет около 500 значений, поэтому будет очень сложно использовать $ для каждой переменной.Кроме того, я думал о передаче нового data.frame в .csv для внесения других изменений.Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Мы могли бы использовать tidyverse

library(tidyverse)
enframe(a) %>% 
    unnest
# A tibble: 5 x 2
#  name   value
# <chr>  <chr>
#1 movies ab   
#2 movies cd   
#3 movies ef   
#4 books  zy   
#5 books  xw   

данные

a <- list(movies=c("ab","cd","ef"),
      books=c("zy","xw"))
0 голосов
/ 12 мая 2018

Вы можете использовать stack ...

a <- list(movies=c("ab","cd","ef"),
          books=c("zy","xw"))

df <- stack(a)

df
  values    ind
1     ab movies
2     cd movies
3     ef movies
4     zy  books
5     xw  books
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...