2017-10-10 2 views
1

Ich übe dplyr Paket mit berühmten Datensatz von ggplot2, 'Diamanten' Daten. Ich versuche, den mittleren "Preis" von Diamanten zu berechnen, die nach der Variablen "cut" gruppiert sind. Mein Code ist wie folgt.Berechnen Mittelwert nach Gruppe mit dplyr Paket

price.cut <- diamonds %>% 
group_by(cut) %>% 
summarize(Mean = mean(price, na.rm=TRUE)) 

Meine Erwartung ist, mittleren Preis nach "cut" Variable gruppiert zu bekommen. Allerdings bekomme ich nur einen Wert, das Gesamtmittel des Preises.

>price.cut 
    Mean 
1 3932.8 

Was mache ich falsch?

Antwort

2

Der Grund könnte sein, dass wir versehentlich die plyr Bibliothek geladen haben. Es gibt eine summarise in diesem Paket auch

diamonds %>% 
    group_by(cut) %>% 
    dplyr::summarize(Mean = mean(price, na.rm=TRUE)) 
# A tibble: 5 x 2 
#  cut  Mean 
#  <ord> <dbl> 
#1  Fair 4358.758 
#2  Good 3928.864 
#3 Very Good 3981.760 
#4 Premium 4584.258 
#5  Ideal 3457.542 

Wenn wir die plyr::summarise

diamonds %>% 
    group_by(cut) %>% 
    plyr::summarize(Mean = mean(price, na.rm=TRUE)) 
# Mean 
#1 3932.8 
+1

Vielen Dank akrun verwenden! Es funktioniert gut und das Problem ist gelöst :) –

+0

@akrun wird '%>%' Arbeit ohne Verwendung von 'maghritr' oder' dplyr'? Da du 'dplyr :: summarize' verwendest (kein Laden eines Pakets), wird – PoGibas

+0

@PoGibas 'magrtrtr' über die Namesapce geladen, obwohl ich sie nicht explizit geladen habe – akrun

Verwandte Themen