我正在使用R中有三列的數據框:House,Appliance和Count。這些數據基本上是每個房屋內不同類型廚房用具的清單。數據看起來像這樣:(添加用於說明目的空格)R中有多個列彙總頻率
House Appliance Count
1 Toaster 2
2 Dishwasher 1
2 Toaster 1
2 Refrigerator 1
2 Toaster 1
3 Dishwasher 1
3 Oven 1
對於每個設備類型,我想能夠計算包含這些設備中的至少一個房屋的比例。請注意,在我的數據中,單個房屋可能在一個類別中有零個,一個或多個設備。如果房屋沒有設備,則該房屋的數據中沒有列出。如果房子有多個設備,則該設備可以列出一次,計數> 1(例如,房屋1中的烤麪包機),或者可以列出兩次(每個房間的計數= 1,例如房屋2中的烤麪包機)。
舉個例子展示什麼,我試圖計算,在這裏顯示的數據,住房與烤麪包機的比例是0.67(四捨五入),因爲房屋的2/3至少有一個烤麪包機。同樣,有烤箱的房子的比例爲0.33(因爲只有1/3的房子有烤箱)。我不在乎任何房子有多於一個的烤麪包機 - 只有至少有一個。
我也愚弄與周圍的R中xtabs
和ftable
,但是我不相信,他們提供簡單的解決方案。部分問題是,這些功能將爲每個房屋提供號碼,然後拋出我的房屋計算比例。這是我目前的做法:
temp1 <- xtabs(~House + Appliance, data=housedata)
temp1[temp1[,] > 1] <- 1 # This is needed to correct houses with >1 unit.
proportion.of.houses <- data.frame(margin.table(temp1,2)/3)
這似乎工作,但它不是優雅。我猜在R中有更好的方法來做到這一點。任何建議非常感謝。