2 Stimmen

Wie man ein Balkendiagramm in R erstellt?

Ich habe einen Datenrahmen wie folgt:

 reason_code num_stayed num_disconnected
       1         60                2
       2        113                3
       3        212                2
       4        451                6
.....

Ich möchte im Grunde genommen das Balkendiagramm darstellen, um für jeden reason_code zu vergleichen, wie viele geblieben sind und wie viele gegangen sind? Und ich möchte diese nebeneinander zeigen. Das heißt, im selben Diagramm. Haben Sie zwei Balken für jeden reason_code. Einen Balken in Rot und den anderen in Grün.

Wie plotte ich sie in R?

5voto

TARehman Punkte 6559

Sie können das beside-Argument in barplot verwenden, um dies zu erreichen. Hier ist ein sehr schnelles Beispiel:

example <- data.frame(reason_code=c(1,2,3,4),
                      num_stayed=c(60,113,212,451),
                      num_dx=c(2,3,2,6))

barplot(height=t(as.matrix(example[c("num_stayed","num_dx")])),beside=TRUE)

Beachten Sie, dass ich es transponieren musste, um das Balkendiagramm korrekt interpretieren zu lassen. Sehen Sie auch diese Antwort von Cross-Validated.

1voto

qwwqwwq Punkte 6461

Hier ist eine Lösung unter Verwendung von ggplot:

require(ggplot2)
data = data.frame(reason_code = c(1,2,3,4),
                  num_stayed = c(60,113,212,451),
                  num_disconnected = c(2,3,2,6))

data = rbind(data.frame(type = "num_stayed", val = data$num_stayed, reason_code = data$reason_code), 
             data.frame(type = "num_disconnected", val = data$num_disconnected, reason_code = data$reason_code))

ggplot(data, aes(y=val, x=reason_code, fill=type)) + geom_bar(stat="identity", position="dodge")

ggplot

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X