2015-05-18 61 views
0

我對R中的因子有疑問嗎?有沒有辦法比較每個因子的水平?我感興趣的是一個因素的水平是否是另一個因素水平的一個子集。例如,假設我們有一個載體:R中的比較因子水平

a <- c(1,1,2,2,3,3,4,4,4) 
a1 <- cut(a, breaks=c(1,2,3,4), include.lowest=TRUE) 
a2 <- cut(a, breaks=c(1,3,4), include.lowest=TRUE) 

levels(a1) 
[1] "[1,2]" "(2,3]" "(3,4]" 
levels(a2) 
"[1,3]" "(3,4]" 

所以a2第一級包括a1前兩個級別。我需要在一些數據中瞭解所有這些關係。 R中有一個函數可以給我所有這樣的組合嗎?或者至少有一種方法來手動比較一個因素的水平(可能提取休息),所以我可以寫一個函數來做到這一點?現在我只是通過比較關卡的名稱來完成它,但這並不是很有效,因爲我通常沒有間隔地設置標籤。

回答

1

我認爲你正在尋找的表函數:

> table(a1, a2) 
     a2 
a1  [1,3] (3,4] 
    [1,2]  4  0 
    (2,3]  2  0 
    (3,4]  0  3 
+0

我認爲這要做到這一點,謝謝! – gregorp

+0

您應該點擊複選標記符號接受答案。 – rnso