2017-05-29 9 views
1

によってグループ化されたデータのために私はこのような患者データベースの分割表のように構築したいと思います:分割表のようなRの行

> data <- data.frame(Patient_nb = c("patient1", "patient1", "patient2", "patient3", "patient3"), Healthstate=c("Virus", "Alcool", "Alcool", "Virus", "Autoimmune")) 

    Patient_nb Healthstate 
1 patient1  "Virus" 
2 patient1  "Alcool" 
3 patient2  "Alcool" 
4 patient3  "Virus" 
5 patient3  "Autoimmune" 

そして、それぞれのを持っているどのように多くの患者を知るためにテーブルを作成します患者によってグループ分けされた健康状態;このような結果:回答として

  Alcool Virus Autoimmune 
Alcool  2   1   0 
Virus  1   2   1 
Autoimmune 0   1   1 

は、最初の行は、2人の患者が「alcoolが」HEALTHSTATEを持っていることを意味するが、一方のみが「alcoolが」と「ウイルス」HEALTHSTATEの両方を持っています。

"テーブル"機能は私にこの結果を与えているので、私が探しているものではありません。

> table(data$Patient_nb, data$Healthstate) 

      Alcool Virus Autoimmune 
patient1  1  1   0 
patient2  1  0   0 
patient3  0  1   1 

答えて

1

は、我々はcrossprod

crossprod(table(data)) 
必要
関連する問題