我有一份数据帧列表。然后,我希望提取列表对象名称,并将其添加为dataframe中的第一列。THen我想取消列出,并创建一个单独的数据帧,逐行合并每个数据帧。它们都有相同的尺寸。
下面是我的数据帧列表中的一小部分
mylist <- list(SiO2 = structure(c(5.121, 0.00836394378003293, 0.0199499373432604,
5, 10, 1.87883863763252, 0.0836503954062112, 2.1240292640167), .Dim = c(1L,
8L), .Dimnames = list(NULL, c("Analyte_Mean", "SDBetweenGroup",
"SDWithinGroup", "replicates", "NumSamples", "FValue", "PValue",
"FCritical"))), Al2O3 = structure(c(2.0812, 0.0053103672189408,
0.0159059737205869, 5, 10, 0.442687747035557, 0.903289230024797,
2.1240292640167), .Dim = c(1L, 8L), .Dimnames = list(NULL, c("Analyte_Mean",
"SDBetweenGroup", "SDWithinGroup", "replicates", "NumSamples",
"FValue", "PValue", "FCritical"))))我用下面的代码来获取列表对象的名称。但是不确定如何将其作为每个dataframe的列传递回去
names(mylist)要制作一个数据帧,我有
new_list <- as.data.frame(do.call(rbind, mylist)) 任何帮助都是非常感谢的。
发布于 2021-06-28 13:35:26
您可以使用purrr::map_df -
purrr::map_df(mylist, data.frame, .id = 'name')
# name Analyte_Mean SDBetweenGroup SDWithinGroup replicates NumSamples
#1 SiO2 5.1210 0.008363944 0.01994994 5 10
#2 Al2O3 2.0812 0.005310367 0.01590597 5 10
# FValue PValue FCritical
#1 1.8788386 0.0836504 2.124029
#2 0.4426877 0.9032892 2.124029或者在R基地-
do.call(rbind, Map(cbind.data.frame, mylist, name = names(mylist)))https://stackoverflow.com/questions/68157970
复制相似问题