2017-03-13 4 views
0

Transformation Ich habe folgende Tabelle:R einen Datenrahmen

Account.Code Brand  
1600 Sensodyne TP   
1600 Sensodyne TP   
1600 Zem  
1600 Sensodyne TP   
1800 Sensodyne TP   
1800 Burb MN  
1800 Burb MN  
2000 Lami   
2000 Lami   

Wie kann ich wie unter Tabelle umwandeln:

Account.Code Brand Count 
1600 Sensodyne TP 3 
1600 Zem    1 
1800 Sensodyne TP 1 
1800 Burb MN   2 
2000 Lami   2 

Ich würde dieses eine viel größere Datenmenge tun müssen, gezeigt ist nur ein einfaches Beispiel.

+0

ein reproduzierbares Beispiel hinzugefügt werden (siehe [diese] (http://stackoverflow.com/questions/5963269/how-to -make-a-great-r-reproduzierbar-Beispiel)) und ich kann Ihnen helfen. Etwas, das wir in unsere R-Sektion kopieren und einfügen können, um Ihre Lösung zu finden. Tipp: Mit 'data.table' ist das ziemlich einfach. –

+0

'data.frame (Tabelle (df))' sollte es für dieses Problem tun. – lmo

Antwort

0

Mit dplyr:

library(dplyr) 

df %>% 
    group_by(Account.Code, Brand) %>% 
    summarise(count = n()) 

# Account.Code  Brand count 
#   <int>  <fctr> <int> 
#1   1600 Sensodyne_TP  3 
#2   1600   Zem  1 
#3   1800  Burb_MN  2 
#4   1800 Sensodyne_TP  1 
#5   2000   Lami  2 
0

oder eine Base R Lösung

df$Count = 1 
aggregate(Count ~ Account.Code + Brand, data=df, FUN=length) 
    Account.Code  Brand Count 
1   1800  Burb MN  2 
2   2000   Lami  2 
3   1600 Sensodyne TP  3 
4   1800 Sensodyne TP  1 
5   1600   Zem  1