首页 > 解决方案 > R 根据不同长度的其他列表制作列表

问题描述

我获得了一个行数不同的列表,即我有电影、书籍、杂志、网络

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

我已经获得了500个电影的名字,498个名字的书名,469个杂志的名字和516个网络的名字,所有这些值都包含在一个对象列表中(列表称为e);所以,我有一个 4 的列表,但我不能使用 view(e)

视图(e)视图中的错误:参数暗示不同的行数: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 以进行其他修改。感谢您的帮助!

标签: rlistdataframerow

解决方案


你可以使用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

推荐阅读