【发布时间】:2021-09-29 13:14:47
【问题描述】:
我正在使用 dplyr 库,并在管道中创建了一个数据框,看起来像这样:
a <- c(1, 2, 2)
b <- c(3, 4, 4)
data <- data.frame(a, b)
data %>% summarize_all(c(min, max))
这给了我这个数据框:
a_fn1 b_fn1 a_fn2 b_fn2
1 3 2 4
我正在尝试重塑这个数据框,以便管道的输出在几行中堆叠多列,如下所示:
A B
----
1 3
2 4
我该怎么办?我不想更改函数的调用方式,因为 summarise_all 函数可以帮助我实现我正在寻找的值。我只想知道如何将此数据框更改为形状,以便每行中的每个值都是给定列的汇总函数的值。
【问题讨论】:
-
你应该做一个可重现的例子,请阅读:stackoverflow.com/a/5963610/6574038
-
谢谢。希望我所做的编辑使这个例子更具重现性。
-
对不起,我还不清楚你的目标是什么。但是,要使用 tidyverse 重塑数据帧,请查看
tidyr::pivot_longer和tidyr::pivot_wider -
Pivot longer 不会做我想要做的事情,因为它会将列名变成单行。我只想将汇总函数的结果堆叠到每个函数的单独行中,而不是包含函数所有输出的单行
-
相关帖子,有dplyr/tidy解决方案,试试看:stackoverflow.com/q/46841179/680068