r - 将列表列表转换为列表的数据框,其中子列表具有不同的行数
问题描述
我正在尝试将列表列表转换为列表的数据框。但是,子列表具有相同的列数,但“行数不同”。当我运行命令 as.data.frame(parent_list) 时,它会生成:“(函数中的错误(...,row.names = NULL,check.rows = FALSE,check.names = TRUE,:参数暗示不同的数字行数”错误。如何将其转换为数据帧列表,每个帧具有不同的行数?我尝试了使用不同线程的解决方案,但没有运气。任何帮助将不胜感激。这是一个示例代码:
# making a list of 2 sub lists with different number of elements.
list <- list(A = c(1,2,3), B = c(1,2))
# trying to convert sub lists into data frames.
list_to_dataframe <- as.data.frame(list)
#> Error: "Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
#> : arguments imply differing number of rows: 3, 2"
谢谢!
解决方案
您可以简单地使用该rbind
函数来获取数据框,但正如上面所建议的,您的列表包含两个长度不等的向量,因此您将获得所需的结果并发出警告:
list <- list(A = c(1,2,3), B = c(1,2))
# sub lists into data frames.
do.call(rbind, list)
输出:
[,1] [,2] [,3]
A 1 2 3
B 1 2 1
警告消息:在 (function (..., deparse.level = 1) : 结果的列数不是向量长度的倍数 (arg 2)
推荐阅读
- angular - 取消订阅在Angular中失败
- android - 如何在 gradle 中使 BuildConfigField 值动态化?
- python - 如果两个键都在两个单独的字典中,如何获取字典键和值?
- java - 如何使用正则表达式验证 JAVA 中的多个条件?
- apache - ISPConfig 中的自定义 webroot 出现 PDF 404 错误
- asp.net-core - 如何在 ASP.NET Core Web API 中更新 AppDBContext
- python - 有没有办法使用 (x,y) 作为索引来访问矩阵
- android - IONIC - 我在更改 ionic 应用程序的背景时做错了,它被手机接管了
- microservices - 用于共享基本查找数据的微服务
- python - ModuleNotFoundError:烧瓶