其他人解釋發生什麼事,如何解決它,我只是想說明爲什麼它是一個理想的默認值。
考慮下面的示例代碼:
mydata <- data.frame(
x = factor(rep(c(0:5,0:5), c(0,5,10,20,10,5,5,10,20,10,5,0))),
sex = rep(c('F','M'), each=50))
mydata.males <- mydata[ mydata$sex=='M', ]
mydata.males.dropped <- droplevels(mydata.males)
mydata.females <- mydata[ mydata$sex=='F', ]
mydata.females.dropped <- droplevels(mydata.females)
par(mfcol=c(2,2))
barplot(table(mydata.males$x), main='Male', sub='Default')
barplot(table(mydata.females$x), main='Female', sub='Default')
barplot(table(mydata.males.dropped$x), main='Male', sub='Drop')
barplot(table(mydata.females.dropped$x), main='Female', sub='Drop')
將會產生這樣的情節:
現在,這是更有意義的比較,2個地塊在左邊?或右邊的2個地塊?
而不是放棄未使用的水平,可能會更好地重新考慮你在做什麼。如果主要目標是獲取x的數量,那麼您可以使用sum
而不是子集並獲取摘要。一個情節對你已經被迫成爲單一價值的變量有多有意義?
照顧提供一個可重複的例子,以避免從外面猜測? – 2011-06-16 18:52:09