2013-12-11 4 views
13

Ich möchte einen Titel in R Plot wie folgt erreichen:Ausdruck + Variablenwert + normaler Text in Handlung mehrbändigen Werken

title = "The significance level you entered is alpha = 0.05 which is often used." 

Um dies zu bekommen ich den ganzen Text in kleine Teile aufgeteilt, so dass ich schließlich ich bin diese Teile zu kombinieren, nicht in der Lage mein Ergebnis zu bekommen

part1 = "The significance level you entered is" 

part2 = expression(alpha) 

part3 = [email protected] 

part4 = " which is often used." 

So: schreiben

title = paste(part1,part2,part3,part4) 

Die Teile sind.

Entweder wird das Symbol korrekt angezeigt und der Teil 3 wird als Objekt @ Attribut (und nicht als Wert) gedruckt oder das Symbol wird nicht angezeigt und der Wert des Objekts wird korrekt gedruckt.

benutzte ich ?expression und ?print schon, aber es hat nicht

Die Beispiele in ?plotmath zur Verfügung gestellt bekommen haben entweder nicht mein Fall übereinstimmen.

+2

Hallo, bevor ich begann dieses Thema, das ich in diesem Thread einen Blick hatte. Aber der Unterschied ist, dass ich Symbole, Text und Wert einer Variablen verketten möchte. Die Verkettung ist nicht das Problem, sondern die Auswertung meines Objektattributs. Es wird immer als Objekt @ Attribut anstelle von 0,05 ausgedruckt. – user3093283

+2

1. Meiner Meinung nach ist dies eine klar ausgesprochene berechtigte Frage. 2. Im Allgemeinen ist das System der Verwendung von plotmath/expression/bquote in R selbst für erfahrene Benutzer ziemlich schwierig. Keine einzige existierende SO-Frage zu dem Thema ist definitiv. 3. Vier der fünf Benutzer, die für das Schließen gestimmt haben, haben null [r] Fragen oder Antworten. – bdemarest

+0

Wow, das wurde fälschlicherweise als Duplikat markiert! Das sogenannte Duplikat ist für diese Frage grundsätzlich irrelevant. In dieser Frage geht es darum, den Wert einer Variablen einem Titel und nicht nur einem Ausdruck hinzuzufügen. – MHH

Antwort

15

Eine Lösung ist bquote() zu verwenden. Verwenden Sie .() innerhalb bquote, um den Wert von Objekten oder Ausdrücken zu erhalten. Hier ist ein Beispiel dafür, wie das funktionieren könnte:

obj = list(foo=0, bar=99, alpha=0.05) 
plot(1:10, main=bquote("Significance level is" ~ alpha == .(obj$alpha))) 

Die Tilde ~ hier notwendig scheint bquote zu überzeugen alpha als plotmath Ausdruck zu behandeln.

enter image description here

+0

Funktioniert gut, danke für Ihre Zeit !! – user3093283