是否有一种简单的方法可以更改 R 的汇总函数的输出格式,以便将结果打印在列而不是行中?当您传递摘要数据框时,R 会自动执行此操作。当我传递一个向量时,我想在列中打印汇总统计信息。所以而不是这个:

>summary(vector)

Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
1.000   1.000   2.000   6.699   6.000 559.000

它看起来像这样:
  >summary(vector)

    Min.    1.000
    1st Qu. 1.000
    Median  2.000
    Mean    6.699
    3rd Qu. 6.000
    Max.    559.000

最佳答案

当然。将其视为 data.frame :

set.seed(1)
x <- sample(30, 100, TRUE)

summary(x)
#    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
#    1.00   10.00   15.00   16.03   23.25   30.00
summary(data.frame(x))
#        x
#  Min.   : 1.00
#  1st Qu.:10.00
#  Median :15.00
#  Mean   :16.03
#  3rd Qu.:23.25
#  Max.   :30.00

对于稍微更有用的输出,您可以使用 data.frame(unclass(.)) :
data.frame(val = unclass(summary(x)))
#           val
# Min.     1.00
# 1st Qu. 10.00
# Median  15.00
# Mean    16.03
# 3rd Qu. 23.25
# Max.    30.00

或者您可以使用 stack :
stack(summary(x))
#   values     ind
# 1   1.00    Min.
# 2  10.00 1st Qu.
# 3  15.00  Median
# 4  16.03    Mean
# 5  23.25 3rd Qu.
# 6  30.00    Max.

关于重构 R 汇总函数的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27715934/

10-11 22:13
查看更多