【发布时间】:2021-07-25 15:54:38
【问题描述】:
我有两个数据框列表,两个列表中的每个数据框都具有相同的名称和相同的列数。我想将列表 2 中的匹配数据帧名称绑定到列表 1。
我下面两个列表的sn-ps
l1 <-list(Fe = structure(c("Min", "Max", "Median", "Mean", "Std Dev",
"Coeff. Variation", "Dev. From Cert Mean", " NA", " NA",
" NA", " NaN", " NA", " NA", " NaN", "56.18", "56.83",
"56.50", "56.48", "0.218", "0.39", " 0.13", "56.31", "56.53",
"56.41", "56.41", "0.080", "0.14", " 0.01", "56.29", "56.39",
"56.32", "56.33", "0.034", "0.06", "-0.15", "56.40", "56.73",
"56.51", "56.53", "0.125", "0.22", " 0.22", "56.26", "56.53",
"56.32", "56.36", "0.116", "0.20", "-0.09", "56.20", "56.70",
"56.50", "56.45", "0.176", "0.31", " 0.08", "56.10", "56.46",
"56.36", "56.29", "0.150", "0.27", "-0.21", "56.10", "56.83",
"56.41", "56.41", "0.153", "0.27", ""), .Dim = c(7L, 10L), .Dimnames = list(
c("LabMinSummary", "LabMaxSummary", "LabMedianSummary", "LabMeanSummary",
"lab.SDSummary", "cv.summmary", "LabDevMean.Summary"), c("",
"2", "3", "4", "5", "7", "8", "10", "12", ""))), SiO2 = structure(c("Min",
"Max", "Median", "Mean", "Std Dev", "Coeff. Variation", "Dev. From Cert Mean",
"7.63", "7.73", "7.67", "7.67", "0.033", "0.44", "-1.09", "7.59",
"7.84", "7.72", "7.71", "0.091", "1.18", "-0.55", "7.62", "7.81",
"7.70", "7.72", "0.079", "1.02", "-0.48", "7.84", "7.96", "7.89",
"7.89", "0.048", "0.61", " 1.75", "7.65", "7.83", "7.76", "7.76",
"0.060", "0.77", " 0.01", "7.68", "7.94", "7.83", "7.82", "0.086",
"1.10", " 0.84", "7.62", "7.87", "7.79", "7.77", "0.111", "1.43",
" 0.19", "7.64", "7.82", "7.70", "7.70", "0.065", "0.84", "-0.68",
"7.59", "7.96", "7.74", "7.74", "0.097", "1.25", ""), .Dim = c(7L,
10L), .Dimnames = list(c("LabMinSummary", "LabMaxSummary", "LabMedianSummary",
"LabMeanSummary", "lab.SDSummary", "cv.summmary", "LabDevMean.Summary"
), c("", "2", "3", "4", "5", "7", "8", "10", "12", ""))), Al2O3 = structure(c("Min",
"Max", "Median", "Mean", "Std Dev", "Coeff. Variation", "Dev. From Cert Mean",
"2.00", "2.03", "2.01", "2.01", "0.010", "0.52", "-0.16", "2.00",
"2.03", "2.01", "2.01", "0.010", "0.52", "-0.16", "1.99", "2.03",
"2.01", "2.01", "0.013", "0.66", "-0.49", "2.02", "2.05", "2.02",
"2.03", "0.012", "0.58", " 0.50", " NA", " NA", " NA", " NaN",
" NA", " NA", " NaN", "2.01", "2.05", "2.04", "2.03", "0.017",
"0.82", " 0.78", "1.98", "2.02", "2.01", "2.01", "0.015", "0.77",
"-0.45", " NA", " NA", " NA", " NaN", " NA", " NA", " NaN",
"1.98", "2.05", "2.01", "2.01", "0.016", "0.77", ""), .Dim = c(7L,
10L), .Dimnames = list(c("LabMinSummary", "LabMaxSummary", "LabMedianSummary",
"LabMeanSummary", "lab.SDSummary", "cv.summmary", "LabDevMean.Summary"
), c("", "2", "3", "4", "5", "7", "8", "10", "12", ""))))
l2 <- list(Fe = c("Count", "0", "6", "6", "6", "6", "6", "6", "6",
"42"), SiO2 = c("Count", "6", "6", "6", "6", "6", "6", "6", "6",
"48"), Al2O3 = c("Count", "6", "6", "6", "6", "0", "6", "6",
"0", "36"))
我试过了
l3 <- Map(rbind(l1,l2))
l3 <- do.call(rbind,Map(l1,l2))
不知道从这里去哪里
``
【问题讨论】:
-
l2是字符向量列表,而不是数据帧列表。您的最终预期输出如何? -
@Ronak Shah 我意识到了不同长度的列表,所以我已经修复了它。我想将 l2 中的 Fe 添加到 l1 中 Fe 的底部(从技术上讲,我猜它是一个数据帧上的向量)但 rbind 可以在列表之外工作
标签: r dataframe dictionary lapply rbind