2017-04-21 4 views
0

Ich versuche Annotate und Ausdruck Aussagen in ggplot2 zu mischen. Ich bekomme einen konsistenten Fehler "Ästhetik muss entweder die Länge 1 oder die gleiche wie die Daten (1) sein". Mein erster Gedanke war, dass ich in aes die falsche Anzahl von Variablen hatte. Das könnte immer noch stimmen, aber ich konnte meinen Kopf nicht darum drehen, es zu reparieren. Also suchte und fand ich Fehler und Lösungen, die das zugrundeliegende Problem nicht zu lösen schienen. Hier ist mein Code:Ästhetik muss entweder die Länge 1 oder die gleiche wie die Daten sein (1)

r2.val <- .09 
pl <- qplot(c(0,30)) 
pl+annotate(geom="text",x=0,y=28,label=(bquote(Value~is~sigma~R^{2}==. 
(r2.val)))) 
+0

So etwas 'pl + annotieren (geom = "Text", x = 0, y = 28, Label = paste0 ("Wert ~ ist ~ Sigma ~ R^{2} ==", r2.val), parse = TRUE) ' – ahly

Antwort

-1
pl <- qplot(c(0,30)) 
r2.val = 0.42 
pl+annotate(geom="text",x=8,y=-.2,label=(paste("Value~is~sigma~R^{2}==", 
               (r2.val)))) 

?

+0

Vielen Dank , das korrigiert den fehlenden Wert für r2.val, aber ich sehe weiterhin die Aesthetics-Fehlermeldung. In meiner Hauptsitzung ist das die einzige Fehlermeldung, die ich sehe. In einer anderen, frischen Sitzung bekomme ich auch '' stat_bin() 'mit' bins = 30'. Wählen Sie einen besseren Wert mit 'binwidth'." – SteveM49

+0

@ SteveM49 Das lässt Sie nur wissen, dass es die Standardanzahl von Bins mit 30 für das Histogramm verwendet. Wenn Sie das ändern wollen, fügen Sie 'binwidth = 'in' qplot' hinzu. – Paolo

0

Ich bin nicht vertraut mit bquote aber es sieht aus wie Sie erreichen können, was Sie durch die Verwendung paste0 und Einstellung parse = TRUE in annotate zu tun versuchen:

pl + annotate(geom="text", x=10, y=1, 
       label = paste0("Value~is~sigma~R^2==", r2.val), parse = TRUE) 

plot

+0

Danke. Ich kann Ihren Vorschlag verwenden. Der Beitrag, in dem ich die bquote-Funktion fand, erwähnte auch, dass die Verwendung von Paste oder Paste0 möglich sein könnte, sollte aber nicht empfohlen werden. Offensichtlich verstehe ich Bquote auch nicht, aber wenn ich die Frage offen lasse, könnte ich mehr lernen. – SteveM49

Verwandte Themen