2016-07-18 13 views
3

Ich versuche, die Figur in https://tgmstat.wordpress.com/2013/11/13/plot-matrix-with-the-r-package-ggally/ mit dem CodeColoring Punkte basierend auf Variable mit R ggpairs

require(GGally) 
data(tips, package="reshape") 
ggpairs(data=tips, title="tips data", colour = "sex") 

jedoch in der Handlung zu reproduzieren erhalte ich die Punkte auf Sex nicht gefärbt basieren, sondern sie sind alle die gleiche Farbe. Ich erhalte die folgende Warnung

Warnmeldung: In warn_if_args_exist (Liste (...)): Zusätzliche Argumente: 'Farbe' werden ignoriert. Wenn diese> Ästhetik sein sollen, senden Sie sie mit der Variablen 'mapping' in ggpairs mit> ggplot2 :: aes oder ggplot2 :: aes_string.

Ich habe versucht, ggplot2 :: aes (color = sex) hinzuzufügen, aber das hat auch nicht funktioniert.

Hat sonst noch jemand das gleiche Problem? Ich verwende R Version 3.3.1 und GGally_1.2.0.

Danke.

+0

was „funktioniert einstellen, um nicht " bedeuten? –

+0

@BenBolker Ich meinte, dass es die Punkte basierend auf der Kategorie nicht eingefärbt hat. Ich sehe deine Lösung unten und es hat für mich funktioniert! Danke vielmals! – Ana

Antwort

10

GGally wurde unter ziemlich schneller Entwicklung, so ist es nicht verwunderlich, dass ein Blog-Post von 2013 veralteten Code hat. Wenn ich deinen Code mit GGally 1.2.0 starte, bekomme ich die gleiche Warnung. Es funktioniert für mich, wenn ich die Zuordnung hinzufügen:

require(GGally) 
data(tips, package="reshape") 
g1 <- ggpairs(data=tips, title="tips data", 
    mapping=ggplot2::aes(colour = sex), 
    lower=list(combo=wrap("facethist",binwidth=1))) 

Nach the wiki page für die wrap() incantation Beschwerden zu stoppen über binwidth in stat_bin ...

enter image description here

+0

Siehe auch [diese Antwort] (https://Stackoverflow.com/a/46964952/2052738), wenn Sie diese Standardfarben mit einer manuellen Skalierung ändern möchten ('wrap' akzeptiert keine' manual_colour_scale'). – FairMiles