R中数据帧的列表列表

R中数据帧的列表列表,r,R,我有一个有点混乱的嵌套列表,格式如下,我很难将其转换成数据帧 [[1]] [[1]]$id [1] 101 [[1]]$resource_state [1] 'ON' [[1]]$athlete [[1]]$athlete$id [1] 10001 [[1]]$athlete$resource_state [1] 2 [[2]] [[2]]$id [1] 102 [[2]]$resource_state [1] 'OFF' [[2]]$athlete [[2]]$athlete$id

我有一个有点混乱的嵌套列表,格式如下,我很难将其转换成数据帧

[[1]]
[[1]]$id
[1] 101

[[1]]$resource_state
[1] 'ON'

[[1]]$athlete
[[1]]$athlete$id
[1] 10001

[[1]]$athlete$resource_state
[1] 2

[[2]]
[[2]]$id
[1] 102

[[2]]$resource_state
[1] 'OFF'

[[2]]$athlete
[[2]]$athlete$id
[1] 10001

[[2]]$athlete$resource_state
[1] 1
我尝试过使用Sappy和lapply以及data.table,但我无法获得所需的输出(见下文)——有什么想法吗?谢谢

id   resource_state  athlete     athlete_resource_state
101  ON              10001       1
102  OFF             10001       2
下面添加了dput输出以帮助解决错误(抱歉,太长了!):


您可以将
lappy
unlist
组合使用:

do.call(rbind, lapply(myList, unlist))

其中myList是您的嵌套列表。

谢谢,但当我在完整列表中尝试此操作时,出现了一个错误:警告消息:In(function(…,deparse.level=1):结果的列数不是向量长度的倍数(arg 1)。请注意,此解决方案不会保留列类型,但会将所有内容转换为字符矩阵(不是data.frame)只有当您的列表是您在问题中显示的列表时,此答案才有效。如果有问题,您可能希望显示列表的更多信息。'dput(myList)'和'str(myList)'将很有帮助。我添加了这些输出,希望能够使错误重现。我想我被嵌套列表绊倒了,这些列表不一定总是相同的长度。请看一看。您的列表中没有
resource\u state
变量。您仍然想要它吗?您现在需要哪些变量?
do.call(rbind, lapply(myList, unlist))