2017-03-25 18 views
2
> t <- read.csv("data.csv", sep=';') 
> t 
    sex pacemaker smoker 
1 female  no never 
2 female  no never 
3 male  no never 
4 male  no former 
5 male  yes former 
6 male  yes former 
7 female  yes current 
8 female  yes former 
9 female  no current 
> xtabs(~smoker+sex, data=t) 
       sex 
smoker female male 
    current  2 0 
    former  1 3 
    never  2 1 
> xtabs(~smoker+pacemaker, data=t) 
     pacemaker 
smoker no yes 
    current 1 1 
    former 1 3 
    never 3 0 

Rで2つの2次元クロス集計を結合するにはどうすればよいですか?R:2つの2次元クロス集計を結合する

所望の出力:

  |  sex  | pacemaker 
    smoker | female male | no yes 
    current | 2 0 | 1 1 
    former | 1 3 | 1 3 
    never | 2 1 | 3 0 
+2

あなたのdata.farme 't'を呼び出さないでください。これが転置関数の名前です。 – G5W

答えて

2

私はあなたのdata.frameがdfをされるように名前を変更しました。このコードはあなたのために働くはずです。

cbind(xtabs(~smoker+sex, data=df), xtabs(~smoker+pacemaker, data=df)) 
     female male no yes 
current  2 0 1 1 
former  1 3 1 3 
never  2 1 3 0 

あなたはペースメーカーの列ヘッダーの名前を変更したい場合があります。

colnames(XTab)[3:4] = c("Pacemaker_no", "Pacemaker_yes") 
XTab 
     female male Pacemaker_no Pacemaker_yes 
current  2 0   1    1 
former  1 3   1    3 
never  2 1   3    0 
関連する問題