R 使用列名和0行初始化空TIBLE

R 使用列名和0行初始化空TIBLE,r,tibble,R,Tibble,我有一个名为tbl\u colnames的列名向量 我想创建一个包含0行和长度(tbl\u colnames)列的TIBLE 我发现最好的方法是 tbl因为您想要合并一个tibble列表。您只需将NULL赋值给变量,然后将行与其他TIBLE绑定即可 res = NULL for(i in tibbleList) res = bind_rows(res,i) 然而,一个更有效的方法是 bind_rows(tibbleList) # combine all tibbles in the li

我有一个名为
tbl\u colnames
的列名向量

我想创建一个包含0行和
长度(tbl\u colnames)
列的TIBLE

我发现最好的方法是


tbl因为您想要合并一个tibble列表。您只需将NULL赋值给变量,然后将行与其他TIBLE绑定即可

res = NULL
for(i in tibbleList)
   res = bind_rows(res,i)
然而,一个更有效的方法是

bind_rows(tibbleList) # combine all tibbles in the list

my_tibble对于仍有兴趣使用字符向量指定的列名创建0行tibble的人
tbl_colnames

tbl\u colnames%>%purrr::map\u dfc(setNames,object=list(logical())

或:

tbl\u colnames%>%purrr::map\u dfc(~tibble::tibble(!!.x:=logical())

或:

tbl\u colnames%>%rlang::rep\u named(list(logical())%%>%tibble::as\u tibble()


当然,这会导致每个列都是逻辑类型。

您可能会滥用允许从字符串读取的
readr::read\u csv
。您可以控制名称和类型,例如:

tbl_colnames <- c("one", "two", "three", "c4", "c5", "last")
read_csv("\n", col_names = tbl_colnames) # all character type
read_csv("\n", col_names = tbl_colnames, col_types = "lcniDT") # various types

tbl_colnames可存储列具有数据类型。你想把所有的栏目都编成数字吗?还有,你打算用这个空的tibble做什么?您不打算尝试向其中添加行,是吗?因为这样效率很低。最好先按列构建数据。更多的上下文可能会有所帮助。您不需要使用data.frame包装。只是
作为_tibble(矩阵(.
好吧,我有一个5个列表的列表,我想将它们全部行绑定到一个tibble中。想法是从一个空的tibble开始,循环列表行将它们逐个绑定到初始化的tibble。谢谢你的回答。这是一个列表列表(不是tibble列表),但这似乎还是可行的!此答案是对仅与此页面上发布的标题和问题相关的评论的回应。谢谢。当我问此问题时,我希望直接使用
tbl_colnames
向量,但这确实是一种方法(如果有点麻烦的话).无论如何,这可能对其他寻求不同方法初始化TIBLES的人有所帮助。
tbl_colnames <- c("one", "two", "three", "c4", "c5", "last")
read_csv("\n", col_names = tbl_colnames) # all character type
read_csv("\n", col_names = tbl_colnames, col_types = "lcniDT") # various types