2017-02-02 20 views
0

に要約する周波数とSDを追加します。 ..)。 私が実行します。は、私はこの(例)のようなdata.frameを持つR

aggregate(protein~product,summary,data=DATA4, na.rm = TRUE) 

私はこれを持っている...

product protein.Min. protein.1st Qu. protein.Median protein.Mean protein.3rd Qu. protein.Max. 
     aaa  6.400   14.700   15.600  15.540   16.600  22.500 
     bbb  6.300   9.400   10.100  10.130   10.800  15.100 
     ccc  23.000   24.080   24.250  24.180   24.420  25.000 

私も周波数およびSDを持っていると思ったが。どうすればそれを聞くことができますか? 私はddplyで試しましたが、私はそれを動作させることはできません。 (タンパク質、脂肪、デンプンなどのいくつかの変数にはNAがあります)

さらに、ここではタンパク質レベルの要約のみを求めているので、どのように私が持っているすべての変数について要約を求めることができますか(タンパク質、脂肪、でんぷん、など...)は、すべて一回?

にありがとうございました!

+1

'集計(タンパク質〜製品、FUN =機能(I)、C(サマリー(I、na.rm = TRUE)、L1 =長さ(I)、SD1 = SD(I、na.rmのようなもの= TRUE))、data = DATA4) '? – Sotos

+0

@Sotos ありがとうございました!私はコード内の何かを理解することはできません。x) しかし、なぜ答えがこの形式の形式であるのか分かりませんか? (指数関数で?) のaaa 6.400000e + 00 1.470000e + 01 1.560000e + 01 1.554000e + 01 1.660000e + 01 –

+0

あなたは 'オプション(scipen = 999)' – Sotos

答えて

1

を私は私が通常より精巧な解決策に頼るの要約の出力を取得する方法を指定したい場合はそのようdplyrを使用して:

library(dplyr) 

df <- data.frame(product = rep(letters[1:3], each=3,3), 
       protein = sample(10:40, 27, replace=T)) 

df %>% group_by(product) %>% 
    summarise(min = min(protein) 
      ,max = max(protein) 
      ,mean = mean(protein) 
      ,sd = sd(protein) 
      ,n = n() 
      ,q25 = quantile(protein, .25) 
      ,q75 = quantile(protein, .75)) 

結果:

# A tibble: 3 × 8 
    product min max  mean  sd  n q25 q75 
    <fctr> <int> <int> <dbl> <dbl> <int> <dbl> <dbl> 
1  a 16 39 24.66667 8.717798  9 17 30 
2  b 24 40 31.55556 5.387743  9 26 35 
3  c 13 38 26.66667 8.108637  9 22 31 
+1

のためにdupeターゲットを見直して、これを 'summarise_all(funs(min、max、median、sd、n = n()、q25 = quantileクォンタイル(。、.75)))は元のデータフレーム内のすべてのカテゴリ(タンパク質、脂肪、デンプン)に適用したいですか? – Nate

+0

@ Wietze314ありがとうございました! 私はそれが動作していることがわかりますが、私はこのエラーが表示されます: function_list [[i]](値)のエラー:関数 "group_by"を見つけることができませんでした –

+0

あなたは ' dplyr) 'これらの関数はそのパッケージからのものです – Nate

関連する問題