您可以创建一个命名向量,vec
,其中第一个参数设置所需的列类型。这rep("", 3)
行说我想要三个字符列。那么第二个参数是列名称的向量。
Use dplyr::bind_rows
将其转换为一行的 tibble。然后[0, ]
选择零行,将其留空。
通过这种方法,您可以轻松控制每列的数据类型。
library(dplyr)
vec <- setNames(rep("", 3), letters[1:3])
bind_rows(vec)[0, ]
# A tibble: 0 x 3
# ... with 3 variables: a <chr>, b <chr>, c <chr>
您还可以使用as_tibble
如果你转置指定的向量。我想我用bind_rows
因为我通常有dplyr
已加载但未加载tibble
.
library(tibble)
vec <- setNames(rep("", 3), letters[1:3])
as_tibble(t(vec))[0, ]
# A tibble: 0 x 3
# ... with 3 variables: a <chr>, b <chr>, c <chr>
如果您知道所有列都是单一类型(例如字符),您可以执行类似的操作。
vec <- letters[1:3]
df <- bind_rows(setNames(rep("", length(vec)), vec))[0, ]