使用管道运算符将数据转换为 data.frame

Transform data to data.frame with the pipe operator

假设我有以下数据:x <- 1:2.

我想要的输出是 data.frame(),如下所示:

a b
1 2

有了基础 R,我会做一些事情:

df <- data.frame(t(x))
colnames(df) <- c("a", "b")

问题:我将如何使用管道运算符执行此操作?

到目前为止我尝试了什么:

library(magrittr)
x %>% data.frame(a = .[1], b = .[2])

transpose 之后,使用 as_tibble 转换为 tibble 并使用 set_names

更改列名称
library(dplyr)
library(tibble)
x %>% 
  t %>%
  as_tibble(.name_repair = "unique") %>%
  setNames(c("a", "b"))
# A tibble: 1 x 2
#      a     b
#  <int> <int>
#1     1     2

或者如果我们想使用 OP 的语法,另一种选择是用 {}

包装代码
x %>%
     {data.frame(a = .[1], b = .[2])}