2014-09-13 35 views
-1

假設我有不同的狀態結合數據

State Cost 
    AK, 70 
    AK, 75 
    AK, 10 
    IL, 20 
    IL, 1050 
    IL, 235 
    etc... 

我如何壓縮我的數據中出現的,這樣我只在看總爲一些交易數據每個州的成本?我只能通過編寫python腳本來壓縮這些數據,但似乎R應該能夠支持這種操作。

State Cost 
    AK, 155 
    IL, 1305 
    etc... 

任何想法非常感謝。

+2

'aggregate(Cost〜State,your-data-frame-name,sum)'應該這樣做。 – A5C1D2H2I1M1N2O1R2T1 2014-09-13 18:13:14

+0

或'library(data.table); setDT(dat)[,list(Cost = sum(Cost)),by = State]' – akrun 2014-09-13 18:18:31

+0

這真是太棒了謝謝你 – headbone 2014-09-13 18:31:27

回答

1
library("dplyr") 

options(digits=4) 

StatsByState <- group_by(Your.df, State) 

summarise(StatsByState, Sum = sum(Cost), Mean = mean(Cost), StDev = sd(Cost)) 

options(digits=7) 

    State Sum Mean StDev 

1 AK 155 51.67 36.17 

2 IL 1040 346.67 565.80 

3 NE 720 240.00 242.49