2013-03-26 135 views
3

我的問題解析在geom_text表達:字符,數字和特殊字符

我想來註釋ggplot()的每個面具有一個表達式,它是從一個統計測試結果值的combinination。 我不能夠得到geom_text()內解析字符串。

類似的問題被部分覆蓋here。不幸的是,我無法應用這個具體的例子。

我的目標

解析表達式組合數字,字符和特殊字符。在這種情況下,下面的例子是lab2。

p <- ggplot(mtcars, aes(mpg, wt)) + geom_point() 

custom_label <- data.frame(cyl = c(4,6,8), 
          wt = c(5,5,5), 
          lab = c('X^2','X^2','X^2'), 
          lab2 = c('X^2: 18.5342, p =3e-04', 
            'X^2: 4.7512, p =0.1909', 
            'X^2: 15.3266, p =0.0016')) 
p + facet_grid(. ~ cyl) + 
    geom_text(data = custom_label, aes(x=30, y=wt, label = lab2), size = 3, parse = T) 

這正常使用custom_label $實驗室,但無法用實驗2。

我很感激任何幫助。如果我明確表達我的問題,請告訴我。

在此先感謝。

回答

2

其實我認爲你沒有得到真正的chi-squared,而是得到了一個X^2。這可能是OK,因爲卡方變量的樣本估計常被稱爲X^2,但如果你想chi你需要使用chi(或Chi資本希臘智認爲,誠然,看起來很像一個「X 「)。您需要使用雙引號,構建一個plotmath表達正確~*分隔符:

     lab2 = c("chi^2*':'~18.5*', p =3e-04'", 
           "chi^2*':'~4.7*', p =0.1909'", 
           "chi^2*':'~15.3*', p =0.0016'") 

運行的plotmath的例子和演示:

?plotmath 
demo(plotmath) 
+1

我相信那些應該代替== =的,大傢伙:) – Dennis 2013-03-27 07:58:46

+0

如果我所要去的全豬plotmath路線,我需要他們,但這些都包含在引號(保留逗號),所以他們沒有。 (我做了測試和揣摩的定位是東西OP不問所以也沒解決這個問題。) – 2013-03-27 16:13:22

+0

如果你希望它是純plotmath,但保留了逗號,那麼你可能把它放在如:'」 list(chi^2 *':'〜18.5 * phantom(),p == 3e-04)「'。或者只是:''list(chi^2 *':'〜18.5,p == 3e-04)「'。文本「=」和你用plotmath獲得的東西有一點區別==「。 – 2015-04-29 14:34:38