2016-04-07 10 views
0

私のデータから2by2テーブルを作成しようとしています。R、base ::を使用してテーブルを作成する

私は、単純な2bx2を作成するには、以下の

my.list <- list(c(1, 1, 0, 0, 1), c(1, 0, 0, 1, 1), c(0, 0, 0, 1, 1)) 
df <- data.frame(c(1, 1, 0, 0, 1), c(1, 0, 0, 1, 1), c(0, 0, 0, 1, 1)) 
names(df) = c("test1", "test2", "test3") 

reference <- c(1, 1, 1, 0, 0) 
gender <- c("m", "w", "w", "m", "m") 

に類似しイストリスト/またはデータフレームを持っている - テーブル私がやった:

lapply(list, table, reference) 

これは、このようなテーブルをリストになり:

[[1]] 
    reference 
    0 1 
    0 1 1 
    1 1 2 

[[2]] 
    reference 
    0 1 
    0 0 2 
    1 2 1 

[[3]] 
    reference 
    0 1 
    0 0 3 
    1 2 0 

私はテーブルを分割したい他のベクトル "性別"を持っています。

私は

by(df, gender, table, reference) 

を試みたが、私が得るすべてはsort.listで

エラー(y)は次のとおりです。 'X' MUSS atomarセインのfür 'sort.list'

これは次のように変換されます: 'x'は 'sort.list'のアトミックでなければなりません

誰かが私にそのことを説明できますか?私の2by2テーブルを作成する方法と方法

私の所望の出力は次のようになります。

"m"       "w" 

[[1]]      [[1]] 
    reference     reference  
    1      0 1 
    0 1      0 1 0 
    1 1      1 1 1 

[[2]]      [[2]] 
    reference      reference 
    1      0 1 
    0 2      1 2 1 

[[3]]      [[3]] 
    reference      reference 
    1      0 1 
    0 2      0 0 1 
          1 2 0 

は非常に多くの皆さんありがとうございました!

+0

で作成した各インデックスに適用することができ、ご希望の出力

について不明なんだねえ、私は望ましい結果を作るために、質問を編集しましたより明確。基本的には、大きなデータフレームの分析用に複数のサブグループを作成する – KTB

答えて

0

"m"と "w?"を入れ替えましたか?そうでない場合、私はまだあなたは自分のすでにワーキング機能を取り、by$gender

df <- data.frame(test1 = c(1, 1, 0, 0, 1), 
       test2 = c(1, 0, 0, 1, 1), 
       test3 = c(0, 0, 0, 1, 1), 
       reference = c(1, 1, 1, 0, 0), 
       gender = I(c("m", "w", "w", "m", "m"))) 

by(df, df$gender, function(x) lapply(x[, 1:3], table, x$reference)) 

## df$gender: m 
## $test1 
##  
##  0 1 
## 0 1 0 
## 1 1 1 
## 
## $test2 
##  
##  0 1 
## 1 2 1 
## 
## $test3 
##  
##  0 1 
## 0 0 1 
## 1 2 0 
## 
## --------------------------------------------------------------------- 
## df$gender: w 
## $test1 
##  
##  1 
## 0 1 
## 1 1 
## 
## $test2 
##  
##  1 
## 0 2 
## 
## $test3 
##  
##  1 
## 0 2 
## 
+0

はい!それは私が望んでいたように機能します。どうもありがとうございました。 – KTB

関連する問題