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