Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:将2D数据帧列表重新组织为一个数据帧_R_List_Dataframe - Fatal编程技术网

R:将2D数据帧列表重新组织为一个数据帧

R:将2D数据帧列表重新组织为一个数据帧,r,list,dataframe,R,List,Dataframe,这可能是一个简单的问题,但我的大部分R经验是使用数据帧和dplyr。我有一个列表列表,其中内部列表包含一个“信息”数据框和一个“结果”数据框(见下面的示例) 我已经在网上搜索过了,但大多数解决方案都是一个数据帧列表,而不是列表列表 到目前为止,我最大的努力是使用for循环(见下文),但由于我的实际数据要大得多(行和列),我正试图找到一个更有效的解决方案 df = data.frame() for (i in (1:length(data))) { df = rbind(df,

这可能是一个简单的问题,但我的大部分R经验是使用数据帧和dplyr。我有一个列表列表,其中内部列表包含一个“信息”数据框和一个“结果”数据框(见下面的示例)

我已经在网上搜索过了,但大多数解决方案都是一个数据帧列表,而不是列表列表

到目前为止,我最大的努力是使用for循环(见下文),但由于我的实际数据要大得多(行和列),我正试图找到一个更有效的解决方案

df = data.frame()
for (i in (1:length(data))) {
  df = rbind(df,
             cbind(data[[i]][[1]], data[[i]][[2]]))
}
干杯

可能是:

do.call(rbind, lapply(1:length(data), 
                      function(i) do.call(cbind, data[[i]])
                      )
        ) 
可能是:

do.call(rbind, lapply(1:length(data), 
                      function(i) do.call(cbind, data[[i]])
                      )
        ) 

由于您熟悉dplyr,请尝试以下操作:

bind_rows(lapply(data,function(i)do.call(cbind,i)))

另外,我发现
bind\u cols
不起作用。可能是一个小错误?

既然您熟悉
dplyr
,请尝试以下操作:

bind_rows(lapply(data,function(i)do.call(cbind,i)))

另外,我发现
bind\u cols
不起作用。也许这是一个小错误?

包:data.table与rbindlist(…,fill=TRUE)配合得很好。完成后,只需将其转换回data.frame即可。

package:data.table使用rbindlist(…,fill=TRUE)很好地实现了这一点。完成后,只需转换回data.frame