将向量合并到一个数据集中并相应地命名各行

问题描述 投票:0回答:1

我有 3 个向量:

V <-structure(list(mean = 1.34944359241928, sd = 0.57779881866326, 
           `0.025quant` = 0.196903771571785, `0.5quant` = 1.35295469982876, 
           `0.975quant` = 2.48177705326348, mode = NA_real_, kld = 1.9807860333589e-08), row.names = "MULT", class = "data.frame")

PC <- structure(list(mean = 1.34944359241928, sd = 0.57779881866326, 
           `0.025quant` = 0.196903771571785, `0.5quant` = 1.35295469982876, 
           `0.975quant` = 2.48177705326348, mode = NA_real_, kld = 1.9807860333589e-08), row.names = "MULT", class = "data.frame")


IF <- structure(list(mean = 1.34909620780277, sd = 0.584070365393511, 
                 `0.025quant` = 0.187046377119461, `0.5quant` = 1.35203229998754, 
                 `0.975quant` = 2.4943145617015, mode = NA_real_, kld = 1.67173434130176e-08), row.names = "MULT", class = "data.frame")

我想将这 3 个向量组合成一个数据集,其中每个向量对应于数据集中的单独行,向量的名称(V、PC、IF)位于第一列中。

我知道如何组合它们,但找不到根据原始向量命名行的解决方案。

大家有什么建议吗?

r dataframe vector
1个回答
0
投票

你可以完全在 R 基础上做到这一点,但我会使用

tibble
。第一个
tibble::lst()
会根据向量的名称自动生成名称。然后我们可以使用基本 R 函数将它们绑定为具有行名称的行,并
tibble::rownames_to_column()
生成第一列。

library(tibble)
lst(V, PC, IF) |>
    do.call(rbind, args = _) |>
    rownames_to_column("vec")

#   vec     mean        sd 0.025quant 0.5quant 0.975quant mode          kld
# 1   V 1.349444 0.5777988  0.1969038 1.352955   2.481777   NA 1.980786e-08
# 2  PC 1.349444 0.5777988  0.1969038 1.352955   2.481777   NA 1.980786e-08
# 3  IF 1.349096 0.5840704  0.1870464 1.352032   2.494315   NA 1.671734e-08
© www.soinside.com 2019 - 2024. All rights reserved.