2016-06-15 19 views
3

Ich habe diesen Code unten. Ich versuche, Quantile und dann Teilmenge für Gruppen zu verwenden (Jahre, von denen es zwei gibt). Ich glaube, ich kann dies tun mit dplyr, aber es funktioniert nicht:Wie Quantil mit dplyr verwenden und GROUP_BY

Claims6 %>% 
    group_by(year) %>% 
    summarise(ranker = quantile(Expense, prob = c(.10, .30, .50, .80))) 
+1

"funktioniert nicht" ist sehr vage. Wenn Sie einen Fehler erhalten, sollten Sie die spezifische Fehlermeldung posten. Auch wenn es nicht immer offensichtlich ist, Fehlermeldungen sind nützlich und hilfreich! – Gregor

+1

Versuchen Sie, ein reproduzierbares Beispiel zu veröffentlichen, nicht unbedingt alle Ihre Daten, aber einige davon. Es ist schwer zu sagen, was Sie in Claims6 haben und einfache Dinge wie verschiedene Klassen machen einen großen Unterschied. – Nate

+0

Diese Frage ist ein wenig anders (das ursprüngliche Poster war ein wenig näher an der richtigen Antwort), aber es könnte Sie dahin bringen, wo Sie sein möchten: http://Stackoverflow.com/q/30225560/903061 – Gregor

Antwort

10

Sie die do Funktion für Probleme wie diese verwenden können. Ich habe einige Daten für Sie erstellt, um das zu testen.

library(dplyr) 
Claims6 <- data.frame(year = factor(rep(c(2015, 2016), each = 10)), 
        Expense = runif(20)) 

Claims6 %>% group_by(year) %>% 
    do(data.frame(t(quantile(.$Expense, probs = c(0.10, 0.30, 0.50, 0.80))))) 


Source: local data frame [2 x 5] 
Groups: year [2] 

    year  X10.  X30.  X50.  X80. 
    (fctr)  (dbl)  (dbl)  (dbl)  (dbl) 
1 2015 0.06998258 0.2855598 0.5469119 0.9499181 
2 2016 0.22983539 0.3691736 0.4754915 0.7058695 
Verwandte Themen