2016-03-08 34 views
0

我想創建一個表,以普查塊收入組和城鎮居民每個城鎮貢獻的州稅金額的總和。我使用以下數據對此進行建模。使用tapply,並顯示在兩個標準的結果

Town<-c("Andover","Andover","Burlington","Burlington","Burlington","Burlington","Cheshire") 
Category<-c("Low","Middle","High","Low","Middle","Middle","Low") 
Value<-c(100,350,230,450,100,200,50) 
all<-data.frame(Town,Category,Value) 

t1<-tapply(all$Value[all$Category=="Low"],all$Town[all$Category=="Low"],sum) 
t2<-tapply(all$Value[all$Category=="Middle"],all$Town[all$Category=="Middle"],sum) 
t3<-tapply(all$Value[all$Category=="High"],all$Town[all$Category=="High"],sum) 
t4<-cbind(t1,t2,t3) 

在我的實際數據集中,雖然個別tapply文件的長度不是相同的長度。例如,t1會有19個條目,而t3會有55個條目。因此,我不能結果。不幸的是,我無法用建模數據重新創建這個問題。

無論如何,我怎樣才能創建t4表,而無需使用for循環或多個tapply和合並功能?

基本上我想用這樣的函數替換出現與第三列的總和的計數表

#i.e. 
table(all$Town,all$AMIBand) 

在這種情況下將

all$Value 

回答

1

如果我正確理解你想要的東西是這樣的:

dcast(all, Town ~ Category, value.var="Value", fun.aggregate=sum) 
相關問題