Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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 从列表元素的每一行创建数据帧_R_List_Dataframe - Fatal编程技术网

R 从列表元素的每一行创建数据帧

R 从列表元素的每一行创建数据帧,r,list,dataframe,R,List,Dataframe,假设我有一个数据帧列表,列表中的每个数据帧都具有相同的结构: $final01_1 k h value 85 12 h=12 0.02867449 86 11 h=23 0.02885711 87 10 h=15 0.02868290 88 9 h=14 0.02872784 89 8 h=13 0.02864886 90 7 h=19 0.02869149 . . .. ..... $final02_1 k h value 85

假设我有一个数据帧列表,列表中的每个数据帧都具有相同的结构:

$final01_1
    k    h      value
85 12 h=12 0.02867449
86 11 h=23 0.02885711
87 10 h=15 0.02868290
88  9 h=14 0.02872784
89  8 h=13 0.02864886
90  7 h=19 0.02869149
.   . ..    .....

$final02_1
    k    h      value
85 12 h=12 0.02013402
86 11 h=17 0.02012700
87 10 h=17 0.01972729
88  9 h=26 0.02025178
89  8 h=13 0.02035556
90  7 h=13 0.02022585

$final03_1
k    h      value
85 12 h=55 0.04254915
86 11 h=56 0.04283464
87 10 h=24 0.04244404
88  9 h=22 0.04239187
89  8 h=21 0.04318766
90  7 h=21 0.04510606
等等。我想创建(在本例中)6个新的数据帧,它们由每个$final的行装箱。这意味着第一个数据帧应包含每个数据帧的所有第一行,如下所示:

$foo
85 12 h=12 0.02867449
85 12 h=12 0.02013402
85 12 h=55 0.04254915
这是所有行的。 我认为用lapply做一些事情是解决办法,但我没有得到一个有效的解决办法


希望您能帮助我

我们可以循环浏览行名,然后提取行

lst2 <- lapply(rownames(lst[[1]]), function(rn)
           do.call(rbind, lapply(lst, function(y) y[rn,])))
-输出

#$`85`
#   rn  k    h      value
#1  85 12 h=12 0.02867449
#7  85 12 h=12 0.02013402
#13 85 12 h=55 0.04254915

#$`86`
#   rn  k    h      value
#2  86 11 h=23 0.02885711
#8  86 11 h=17 0.02012700
#14 86 11 h=56 0.04283464

#$`87`
#   rn  k    h      value
#3  87 10 h=15 0.02868290
#9  87 10 h=17 0.01972729
#15 87 10 h=24 0.04244404

#$`88`
#   rn k    h      value
#4  88 9 h=14 0.02872784
#10 88 9 h=26 0.02025178
#16 88 9 h=22 0.04239187

#$`89`
#   rn k    h      value
#5  89 8 h=13 0.02864886
#11 89 8 h=13 0.02035556
#17 89 8 h=21 0.04318766

#$`90`
#   rn k    h      value
#6  90 7 h=19 0.02869149
#12 90 7 h=13 0.02022585
#18 90 7 h=21 0.04510606

如上所述,最好使用唯一的行名称。因此,我们将把“rn”作为一个专栏

感谢您这么快的回答。这似乎是错误的,因为有一列不正确。h列包含系数。结果是h因子,1因子,2因子,1@rook1996我将答案从
sapply
更改为
lappy
。你能查一下吗
#$`85`
#   rn  k    h      value
#1  85 12 h=12 0.02867449
#7  85 12 h=12 0.02013402
#13 85 12 h=55 0.04254915

#$`86`
#   rn  k    h      value
#2  86 11 h=23 0.02885711
#8  86 11 h=17 0.02012700
#14 86 11 h=56 0.04283464

#$`87`
#   rn  k    h      value
#3  87 10 h=15 0.02868290
#9  87 10 h=17 0.01972729
#15 87 10 h=24 0.04244404

#$`88`
#   rn k    h      value
#4  88 9 h=14 0.02872784
#10 88 9 h=26 0.02025178
#16 88 9 h=22 0.04239187

#$`89`
#   rn k    h      value
#5  89 8 h=13 0.02864886
#11 89 8 h=13 0.02035556
#17 89 8 h=21 0.04318766

#$`90`
#   rn k    h      value
#6  90 7 h=19 0.02869149
#12 90 7 h=13 0.02022585
#18 90 7 h=21 0.04510606