2017-03-28 14 views
0

私はRを学んでいて、この練習プロジェクトを持っています。
私は(csvファイルから読み込み)このようなテーブルを持っているが、より多くの行で:他にテーブルを生成するR

+----------+----------+----------+----------+ 
    | Measures | 1  | 2  | 3  | 
    +-------------------------------------------+  
    | Mean |   |   |   | 
    | Medium|   |   |   | 
    | Min |   |   |   | 
    | Max |   |   |   | 
    | Q1 |   |   |   | 
    | Q3 |   |   |   | 
    +----------+----------+----------+----------+ 

+----------+----------------+ 
    | Home type| Gas consumption|  
    +----------+----------------+  
    | 1  |  31,2  | 
    | 2  |  51,3  | 
    | 3  |  40,4  | 
    | 3  |  100,0  | 
    | 2  |  34,6  | 
    | 1  |  16,0  | 
    +---+------------+----------+  

私は展示品にこのような表を作成したいです言葉では、データを列にソートしたいと思います。ここで、column1はタイプ1の住宅のガス消費量を表し、column2はタイプ2の住宅のガス消費量を表します。 次に、各列の平均、中、最小、最大、Q1、Q3を計算し、上のように表示したいと思います。

私を少なくとも導くことはできますか?

答えて

2

まずいくつかのダミーデータ:

d <- data.frame("Home Type"=c(1,2,3,3,2,1), 
    "Gas Consumption"=c(31.2, 51.3, 40.4, 100.0, 34.6, 16.0)) 

があなたの要求メトリック

stats <- function(x) c(Mean=mean(x), Median=median(x), Min=min(x), Max=max(x), 
    Q1=quantile(x, 0.25), Q3=quantile(x, 0.75)) 

分割してベクトルをまとめた機能ホームタイプによる関心の変数を作成し、各グループに関数を適用

> data.frame(lapply(split(d$Gas.Consumption, d$Home.Type), stats), check.names = FALSE) 

      1  2  3 
Mean 23.6 42.950 70.2 
Median 23.6 42.950 70.2 
Min 16.0 34.600 40.4 
Max 31.2 51.300 100.0 
Q1.25% 19.8 38.775 55.3 
Q3.75% 27.4 47.125 85.1 
関連する問題