2017-01-25 22 views
0

簡単な記述統計を得るために階層的なデータ構造を扱う際に問題があります。いくつかの変数は、レベル2(X)その他(yは依存するが階層的データと記述子

Level 1 Level2 x y z  k 

1  a 0.12 1 debt  0 
    1  b 0.08 1 debt  0 
    1  c 0.22 1 debt  0 
    2  d 0.32 0 credit 1 
    2  e 0.17 0 credit 1 
    3  f 0.20 1 credit 1 
    3  g 0.11 1 credit 1 
    3  h 0.05 1 credit 1 
    3  i 0.01 1 credit 1 

、:すべてのレベル1の観察のために、私は、次のような(同じ数ではない)いくつかのレベル2の観察を、有します例えば、​​のように、レベル2ではなくレベル1にグループ化された記述統計情報を取得するにはどうすればよいですか?

Ex。そのようなレベル1のクラスタ数K = 1、table(k ~ study)

のようなものは、あなたの助けのために事前にありがとうござい

マルコとして​​利回りこの特定のケースでは6、私はそれが2を得たいと思い、

+0

dplyrパッケージには、ここで使用できるgroup_by()関数があります: 'k%>%group_by(レベル1)%>集計(COUNTS = n()、SUM =合計(x))' –

+0

ありがとうあなたの助け。 クラス "c( 'integer'、 'numeric')"のオブジェクトに適用される 'group_by_'の適用可能なメソッドがありません。 –

+0

ライブラリ 'dplyr'をインストールしてロードしましたか? ?また、この関数は '' group_by() 'です。 'group_by _()'はおそらくあなたが望むものではありません。 –

答えて

0

これは、あなたがこのためにdplyrを使用したい方法です:

library(dplyr) 

df <- data_frame(Level1 = rep(1:3, each = 3), 
       Level2 = letters[1:9], 
       x = c(0.12,0.08,0.22,0.32,0.17,0.20,0.11,0.05,0.01), 
       y = c(1,1,1,0,0,1,1,1,1), 
       z = c(rep("debt",4),rep("credit",5)), 
       k = c(0,0,0,1,1,1,1,1,1)) 

df %>% 
    count(Level1, k) 

Source: local data frame [3 x 3] 
Groups: Level1 [?] 

    Level1  k  n 
    <int> <dbl> <int> 
1  1  0  3 
2  2  1  3 
3  3  1  3 

はちょうどあなたが「それは動作しません」と言う前に、パッケージのヘルプやビネットを通読してください。それはうまく動作する可能性があります、あなたはちょうどそれを間違って使用しています。

+0

あなたの助けていただきありがとうございます、私はあなたを迷惑して申し訳ありませんが、これは何をもたらさない私は探していた。私はひどく自分自身をひどく表現したでしょう。私が探しているのは、「レベル1のクラスタにはどれくらいのレベル1のクラスタがあるのか​​?」ということです。上の例では、「2」を探しています。 dplyrを使うと、私が得たのは、レベル1でグループ化されたデータセット全体だけです。 –

+0

あなたは 'count()'を見ています。私は私の答えを編集しました。出力に特定のグループが必要な場合、望む/したくないものだけを 'filter()'します。 –