将R中的两个列表组合成一个数据框[重复]

Posted

技术标签:

【中文标题】将R中的两个列表组合成一个数据框[重复]【英文标题】:Combine two lists in R into a dataframe [duplicate] 【发布时间】:2015-08-26 14:25:24 【问题描述】:

我在 R 中有两个长度相同的列表,并希望将它们组合成一个数据帧,结果数据帧中的总行数等于两个列表的长度(换句话说,每个列表都是柱子)。当我尝试使用c(list1, list2) 时,这两个列表被附加在一起,而当我使用cbind(list1, list2) 时,观察总数几乎是原始长度的两倍。

【问题讨论】:

【参考方案1】:

试试

 do.call(rbind.data.frame, Map('c', list1, list2))

数据

 list1 <- as.list(1:5)
 list2 <- as.list(6:10)

【讨论】:

我使用了最后一段代码并收到错误消息“data.frame(Col1 = unlist(lat_long_zip_key), Col2 = unlist(listing_id)) 中的错误:参数暗示不同的行数:57246 , 57258" 但是,当我运行两个列表的长度时,length(listing_id) [1] 57258length(lat_long_zip_key) [1] 57258 它们似乎具有相同的长度。有什么建议吗? @g.humpkins 我假设您的列表元素具有相同的长度,但如果不是这种情况,两个列表中的 unlist 将返回不同的长度。你能展示一个显示错误的可重现的小例子吗? 啊,我能够让它与你的第一个代码 sn-p 一起工作,谢谢!你知道为什么当我测试列表的长度时,它们是等价的,但是当我使用unlist 代码时它们不是? @g.humpkins 您正在查看整个列表的length,根据您的描述,两个列表的长度相同。但是,如果该列表中的某些元素的长度或 nrow 等不同怎么办?尝试检查 sapply(listing_id, length)lengths(listiing_id)(在 R 3.2.0 中)

以上是关于将R中的两个列表组合成一个数据框[重复]的主要内容,如果未能解决你的问题,请参考以下文章

组合列表中的向量以创建数据框 R [重复]

将数据帧列表转换为R中的单个数据帧[重复]

如何用熊猫将多行组合成一行[重复]

将数据框转换为元组列表[重复]

将两个事件处理组合成一个事件处理[重复]

我如何将两个字符组合成一个字符串c#[重复]