2015-11-12 5 views
7

Ich habe einen zweiteiligen Graphen plotten ähnlich wie diese: Bipartite graph comparisonPlot ein zweiteiliger und Liniendiagramm Vergleich

Ich habe 2 Rangliste von zwei verschiedenen Ranking-Methode berechnet. Ich möchte diese Daten grafisch darstellen, um die Ähnlichkeit von 2 Ranglisten grob zu erfassen. so etwas wie diese genannten Vektoren

Die Daten ich brauche, ist anzuzeigen:

rankMathodA = c(1.5, 4, 7, 3, 4.2) 
names(rankMathodA) = c("Team1", "Team2", "Team3", "Team4", "Team5") 
rankMathodA 
#Team1 Team2 Team3 Team4 Team5 
# 1.5 4.0 7.0 3.0 4.2 

rankMathodB = c(1.7, 3.5, 6.2, 3.9, 4.1) 
names(rankMathodB) = c("Team1", "Team2", "Team3", "Team4", "Team5") 
rankMathodB 
#Team1 Team2 Team3 Team4 Team5 
# 1.7 3.5 6.2 3.9 4.1 
+1

Sie könnten diese nützlich finden. Http://stackoverflow.com/questions/25781284/simplest-way-to- plot-changes-in-ranking-zwischen-zwei-ordered-lists-in-r. Zusätzlich zwei weitere Zitate für Bump-Charts und Hanggraphen: http://charliepark.org/a-slopegraph-update/ http: // learn .wordpress.com/2009/05/06/ggplot2-bump-chart / – lawyeR

Antwort

3

Hier ist ein Start in einen ggplot-Ansatz mit einer gewissen Umbildung von Daten. Die Etiketten (mit geom_text separat zu steuern, um die Text-Platzierung hinzugefügt

library(reshape2) 
library(ggplot2) 

#create a dataframe with all necessary variables 
dat <- data.frame(team=c("Team1", "Team2", "Team3", "Team4", "Team5"), 
        rankA=c(1.5, 4, 7, 3, 4.2), 
        rankB=c(1.7, 3.5, 6.2, 3.9, 4.1)) 
#turn to long 
dat_m <- melt(dat,id.var="team") 

#plot 
ggplot(dat_m, aes(x=variable, y=value, group=team)) + 
    geom_line() + 
    geom_text(data=dat_m[dat_m$variable=="rankA",],aes(label=team),hjust=1.1) + 
    geom_text(data=dat_m[dat_m$variable=="rankB",],aes(label=team),hjust=-0.1) + 
    geom_vline(xintercept = c(1,2)) + 
    #hide axis, labels, grids. 
    theme_classic() + 
    theme(
    axis.title = element_blank(), 
    axis.line = element_blank(), 
    axis.text = element_blank(), 
    axis.ticks = element_blank()) 

enter image description here

Verwandte Themen