R列表到data.frame列表 [英] R list of lists to data.frame

查看:161
本文介绍了R列表到data.frame列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个清单列表,称之为 listHolder ,其长度为5.



每个 listHolder 中的元素是一个数值数据列表,其中包含160个元素。



我需要打开此列表的列表变成长度为5的 data.frame ,每个元素是具有160个元素的数字向量。



但是我尝试过的所有内容,从迭代列表中,并将每个元素与$ code> as.numeric(unlist(listHolder [[i ]])),to

  data.frame(matrix(unlist(listHolder)),nrow =长度(totalKeywords),byrow = T))

最终创建长度为160左右的数据框,每个元素是一个具有5个或更多元素的数字向量。



如何做我想要的?



尝试 data.frame(matrix (unlist(totalKeywords),nrow = 132,byrow = T))产生与我想要的相反 - 160个小项目每5个元素长。

解决方案

需要修正nrow的值。我修复了如下代码:

  dd<  -  as.data.frame(matrix(unlist(listHolder)),nrow = length(unlist(listHolder [1]))))


I've got a list of lists, call it listHolder, which has length 5.

Every element in listHolder is a list of numeric data, with 160 or so elements.

I need to turn this list of lists into a data.frame of length 5, with each element being a numeric vector with 160 or so elements.

But everything I've tried, from iterating through the list of lists and turning each element with as.numeric(unlist(listHolder[[i]])), to

data.frame(matrix(unlist(listHolder), nrow = length(totalKeywords), byrow = T))

ends up creating a data frame of length 160 or so, with each element being a numeric vector with 5 or so elements.

How do I do what I want?

Attempting data.frame(matrix(unlist(totalKeywords), nrow=132, byrow=T)) yields the opposite of what I want - 160 small items each 5 elements long.

解决方案

The value of nrow needs to be fixed. I fixed your code as follows:

    dd  <-  as.data.frame(matrix(unlist(listHolder), nrow=length(unlist(listHolder[1]))))

这篇关于R列表到data.frame列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆