2017-02-18 2 views
-3

Ich habe einen Datenrahmen wie folgt:R: ggplot Boxdiagramm

Calories Protein TotalFat 
1  717 0.85 81.11 
2  717 0.85 81.11 
3  876 0.28 99.48 
4  353 21.40 28.74 
5  371 23.24 29.68 
6  334 20.75 27.68 
7  300 19.80 24.26 
9  403 24.90 33.14 
11  394 23.76 32.11 
12  98 11.12  4.30 

Ich möchte ein boxplot mit ggplot machen. Ich kann diese unter Verwendung einer Base R tun

boxplot(df) 

den folgenden Code verwenden, aber wie soll ich tun mit ggplot?

+0

Vielleicht zuerst einige Beispiele aus dem Handbuch für "geom_boxplot" zuerst versuchen? http://docs.gplplot2.org/0.9.3.1/geom_boxplot.html – zx8754

+0

Dieses Dokument hat nicht das, was ich suche. –

+3

Sie müssen Ihre Daten vom Wide- zum Long-Format umformen: 'library (tidyverse); df%>% gather()%>% ggplot (aes (Schlüssel, Wert)) + geom_boxplot()'. – lukeA

Antwort

0

ggplot nutzen zu können, sollten Sie Ihre Daten aus Großformat zu langen Format neu zu gestalten, so dass es wie folgt aussieht:

library(tidyverse) 
df %>% gather %>% head(20) 
#   key value 
# 1 Calories 717.00 
# 2 Calories 717.00 
# ... 
# 11 Protein 0.85 
# 12 Protein 0.85 
# ... 

Sie

tun können
df %>% 
    gather %>% 
    ggplot(aes(key, value)) + 
    geom_boxplot() 

... und erhalten:

enter image description here

Daten:

df <- read.table(header=T,text=" Calories Protein TotalFat 
1  717 0.85 81.11 
2  717 0.85 81.11 
3  876 0.28 99.48 
4  353 21.40 28.74 
5  371 23.24 29.68 
6  334 20.75 27.68 
7  300 19.80 24.26 
9  403 24.90 33.14 
11  394 23.76 32.11 
12  98 11.12  4.30")