重构R语言summary函数的输出结果

3

有没有一种简单的方法可以更改R的summary函数的输出格式,使结果以列而不是行打印?当您将数据框传递给summary时,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
1个回答

5
当然,将其视为 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.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接