问题描述
我是 R 新手,并试图总结具有多个函数的数据框,我希望结果出现在同一列中,而不是每个函数的单独列中。例如,我的数据集看起来像这样
data =
A B
----
1 2
2 2
3 2
4 2
我调用 summarize_all(data,c(min,max))
数据框变成
a_fn1 b_fn1 a_fn2 b_fn2
1 2 4 2
我怎样才能让summary_all的结果变成这样:
A B
----
1 2
4 2
谢谢
解决方法
这行得通吗:
library(dplyr)
bind_rows(apply(data,2,min),apply(data,max))
# A tibble: 2 x 2
A B
<dbl> <dbl>
1 1 2
2 4 2
,
这是一个带有 transpose
library(dplyr)
library(tidyr)
pivot_longer(df1,cols = everything()) %>%
group_by(name) %>%
summarise(min = min(value),max = max(value)) %>%
data.table::transpose(.,make.names = 'name')
A B
1 1 2
2 4 2
数据
df1 <- structure(list(A = 1:4,B = c(2L,2L,2L)),class = "data.frame",row.names = c(NA,-4L))