R语言 如何获取tibles的列表(或向量)

gstyhher  于 2023-09-27  发布在  其他
关注(0)|答案(2)|浏览(107)

在Python中,我可以这样做:

import pandas as pd

s1 = pd.Series([1,2,3])
s2 = pd.Series([4,5,6])
combo = [s1, s2]

我想在R中做类似的事情。我试过这个:

library(dplyr)

tbl1 <- tibble(1:3)
tbl2 <- tibble(4:6)
combo <- c(tbl1, tbl2)

但这破坏了dplyr数据结构,只是创建了一个列表的列表。
如何获得tibles的列表(或向量)?

xwbd5t1u

xwbd5t1u1#

一个data.frame/tibble/data.table都是list,并添加了class属性。当我们进行c oncatenation时,它删除了那些class属性,并导致vector的简单list,即列。如果我们想保留class,请使用list Package

combo <- list(tbl1, tbl2)

或命名为list

combo <- dplyr::lst(tbl1, tbl2)
ssm49v7z

ssm49v7z2#

正如@akrun所说,您正在寻找列表对象,而不是原子向量(通过c()构造)。您可以进一步命名列表对象,访问它们并合并它们,如下所示:

# create datalist
datalist <- list(
   "tbl1" = tibble::tibble(a = 1:3, b = letters[1:3]),
   "tbl2" = tibble::tibble(a = 4:6, b = letters[4:6])
 )

# access tbl from list
datalist[["tbl1"]]

# merge into single data.frame/tibble
combined <- dplyr::bind_rows(datalist, .id = "table_name")

相关问题