2013-03-11 57 views
0

我有一個類似的問題counting unique factors in r,但提供的解決方案不適用於我的數據。R中的計數因子基於BAZ

我的數據是由藥物組織的,包含在df中的pateint信息作爲變量而不是作爲行單元的患者。

   Sex  ID 
drug x   F  Jane 
drug x   F  Mary 
drug x   M  Philip 
drug x   F  Jane 
drug x   F  Jane 
drug x   M  Philip 
drug x   M  John 
drug x   M  Philip 
drug x   F  Jane 
drug x   M  Philip 

我有4點唯一的ID,我想知道在這些4個ID的性別區分,這應該是

F M 
2 2 

但所有我嘗試的代碼讓我回來的藥物數量每個性別例如,

F M 
5 5 

有沒有人可以幫我解決這個問題?當我使用以前的幫助時,我得到一個列爲50的唯一性別ID。

+0

歡迎來到Stack Overflow!請爲這裏的優秀人士添加可重複的樣本以幫助您。看到http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – 2013-03-11 18:37:16

回答

2
> df 
    sex  id 
1 F Jane 
2 F Mary 
3 M Philip 
4 F Jane 
5 F Jane 
6 M Philip 
7 M John 
8 M Philip 
9 F Jane 
10 M Philip 

> summary(unique(df[,c('sex','id')])$sex) 
F M 
2 2 
+0

嗨阿南達 - 非常感謝你的幫助!我試過你的代碼,但無濟於事。我的數據實際上是更大數據框的一部分(80,000種藥物和100名患者)。我製作了一個只有ID和性別的獨立數據框,並嘗試了你所建議的代碼,但是R告訴我「類型'關閉'的對象不是子集合」。我無法理解,爲什麼我無法讓R在我獨特的標識符列表中計算F或M的數量 - 這似乎是合乎邏輯的事情。 – SJS 2013-03-11 17:34:16

+2

@SJS,如果這個解決方案不適合你(它*應該*),爲什麼你不更新你的問題,提供一些更準確的數據樣本,你試過的一些特定的代碼,以及錯誤或你在這個過程中遇到的問題。 – A5C1D2H2I1M1N2O1R2T1 2013-03-11 18:31:44

+0

嗨阿南達,感謝您的幫助。這裏是我的數據的一個例子; > str(m1)[1:5] 'data.frame':\t 80903 obs。 50個變量: $ drug_code:int 10020 10020 10020 10020 10020 10020 10020 10020 10020 10020 ... $ sex:因子w/2等級「F」,「M」:2 1 1 2 1 1 2 1 1 2。 .. $ ID:因子w/100等級「患者1230056694」,..:45 62 62 45 62 62 45 62 62 45 ... 這裏是我試過的代碼 – SJS 2013-03-12 10:03:50