使用管道运算符将数据转换为 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])
在 t
ranspose 之后,使用 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])}
假设我有以下数据: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])
在 t
ranspose 之后,使用 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])}