7

5 セットのデータに対して 5 つの要約があるとします。どうすればこれらの数値を取得したり、集計を 5 ではなく 1 に結合したりできますか

       V1               V2               V3               V4        
 Min.   : 670.2   Min.   : 682.3   Min.   : 690.7   Min.   : 637.6  
 1st Qu.: 739.9   1st Qu.: 737.2   1st Qu.: 707.7   1st Qu.: 690.7  
 Median : 838.6   Median : 798.6   Median : 748.3   Median : 748.3  
 Mean   : 886.7   Mean   : 871.0   Mean   : 869.6   Mean   : 865.4  
 3rd Qu.:1076.8   3rd Qu.:1027.6   3rd Qu.:1070.0   3rd Qu.: 960.8  
 Max.   :1107.8   Max.   :1109.3   Max.   :1131.3   Max.   :1289.6  
       V5        
 Min.   : 637.6  
 1st Qu.: 690.7  
 Median : 748.3  
 Mean   : 924.3  
 3rd Qu.: 960.8  
 Max.   :1584.3  

1つのテーブルを次のようにするにはどうすればよいですか

        v1  v2 v3 v4 v5
  Min.   :   
 1st Qu.:   
 Median : 
 Mean   :   
 3rd Qu.:   
 Max.   :  

または、これらの数値をベクトルとして保存して、行列を使用してテーブルを生成できるようにする方法

4

2 に答える 2

7

データがデータ フレームまたはマトリックスにあるようです。その場合、次のことができます。

> df <- data.frame(a=1:50, b=3:52, c=rnorm(500))
> apply(df, 2, summary)
           a    b         c
Min.     1.0  3.0 -3.724000
1st Qu. 13.0 15.0 -0.733000
Median  25.5 27.5 -0.004868
Mean    25.5 27.5 -0.033950
3rd Qu. 38.0 40.0  0.580800
Max.    50.0 52.0  2.844000
于 2010-04-19T21:18:23.297 に答える
6

You can convert the summary output into a matrix and then bind them:

a <- 1:50
b <- 3:53 
c <- rnorm(500)
cbind(as.matrix(summary(a)), as.matrix(summary(b)), as.matrix(summary(c)))

Alternatively, you can combine them into a list and use an apply function (or plyr):

library(plyr)
ldply(list(a, b, c), summary)
于 2010-04-19T16:48:51.400 に答える