2013-12-11 31 views
13

chcę osiągnąć tytuł w R działce jak:wyrażenie + zmienna wartość + normalny tekst na działce maintitle

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

W celu uzyskania tego podzielić cały tekst w małych części, więc w końcu można napisać

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

części są:

part1 = "The significance level you entered is" 

part2 = expression(alpha) 

part3 = [email protected] 

part4 = " which is often used." 

Więc nie jestem w stanie połączyć te elementy, aby mój wynik.

Symbol jest wyświetlany prawidłowo, a część 3 jest drukowana jako atrybut obiektu @ (nie jest to jego wartość) lub symbol nie jest wyświetlany, a wartość obiektu jest drukowana poprawnie.

użyłem ?expression i ?print już, ale nie dostać to

przykładów podanych w ?plotmath nie pasuje do mojej sprawy albo.

+2

Hi zanim zacząłem ten temat miałem do obejrzenia tego wątku. Ale różnica polega na tym, że chcę połączyć symbole, tekst i wartość zmiennej. Konkatenacja nie jest tym problemem, ale ocena mojego atrybutu obiektu. Jest zawsze drukowane jako atrybut obiektu @ zamiast 0,05. – user3093283

+2

1. Moim zdaniem jest to jasno sformułowane uzasadnione pytanie. 2. Ogólnie rzecz biorąc, system użycia plot/wyrażenia/bquote w R jest dość trudny nawet dla doświadczonych użytkowników. Żadne pojedyncze pytanie SO na temat nie jest ostateczne. 3. Czterech z pięciu użytkowników, którzy głosowali na zamknięcie, ma zero [r] pytań lub odpowiedzi. – bdemarest

+0

Wow, to było niewłaściwie oznaczone jako duplikat! Tak zwany duplikat jest w zasadzie nieistotny dla tego pytania. To pytanie dotyczy dodawania wartości zmiennej do tytułu, a nie tylko "wyrażenia". – MHH

Odpowiedz

15

Jednym z rozwiązań jest użycie bquote(). Użyj .() w ciągu bquote, aby uzyskać wartość obiektów lub wyrażeń. Oto jeden z przykładów, jak to może działać:

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

Tylda ~ wydaje się konieczne, żeby przekonać bquote alfa traktować jako wyrażenie plotmath.

enter image description here

+0

Działa dobrze, dziękuję za poświęcony czas !! – user3093283