当列表中的数据帧命名为NULL时,将列表转换为R中的数据帧

当列表中的数据帧命名为NULL时,将列表转换为R中的数据帧,r,plyr,reshape2,R,Plyr,Reshape2,在使用RCurl进行了一次web清理之后,我使用了XML的readHTMLTable,现在有了一个包含100个数据帧的列表,其中包含40个对两个变量的观察。我想将其转换为100行40列的单个数据帧。每个数据帧中的第一列包含我希望成为单个数据帧中的列名的内容。这是我所能接近的MWE(我实际列表中的每个数据帧都被命名为NULL): description您可以对列表中每个data.frame的行使用rep,以获取L1列。然后就可以直接施展: # ll is your list of data.fra

在使用
RCurl
进行了一次web清理之后,我使用了
XML
readHTMLTable
,现在有了一个包含100个数据帧的列表,其中包含40个对两个变量的观察。我想将其转换为100行40列的单个数据帧。每个数据帧中的第一列包含我希望成为单个数据帧中的列名的内容。这是我所能接近的MWE(我实际列表中的每个数据帧都被命名为
NULL
):


description您可以对列表中每个data.frame的行使用
rep
,以获取L1列。然后就可以直接施展:

# ll is your list of data.frames
ll.df <- cbind(L1 = rep(seq_along(ll), sapply(ll, nrow)), do.call(rbind, ll))

require(reshape2)
dcast(ll.df, L1 ~ description)
  L1  age location name tenure
1  1   25  florida mike   <NA>
2  2 <NA> new york  jim      5
#ll是您的data.frames列表

ll.df我得到了以下错误:
rbind中的错误(deparse.level,…):参数的列数不匹配
。有什么想法吗?谢谢。
sapply(ll,ncol)
帮助我识别了一个有3列的格式错误的数据帧。我把它拿走了,你的解决方案成功了。非常感谢。
library(reshape2)
listm <- melt(list)
dcast(listm, L1 ~ description)
# dcast output
  L1  age location name tenure
1  1   25  florida mike   <NA>
2  2 <NA> new york  jim      5
# ll is your list of data.frames
ll.df <- cbind(L1 = rep(seq_along(ll), sapply(ll, nrow)), do.call(rbind, ll))

require(reshape2)
dcast(ll.df, L1 ~ description)
  L1  age location name tenure
1  1   25  florida mike   <NA>
2  2 <NA> new york  jim      5