簡體   English   中英

如何為R中的繪圖創建符號文本字符串

[英]How to create symbol text strings for plots in R

我有一個情節,並希望在繪圖區域添加一些回歸統計(例如F,R2,p)。 我熟悉text() ,但是無法找到一個全面的信息來源,其中包含如何使用數學符號,子上標和上標等構建文本字符串的示例。任何具有詳細示例的來源都非常感激。

例如,我有一個簡單的線性回歸,我想從中提取統計數據並將其添加到我的情節中。 例如

reg1 <- lm(WW1 ~ PC1, data = WW_Data)

我希望有類似F1,69 = 14.38, p = < 0.001, R2adj = 0.16 R2adj F1,69 = 14.38, p = < 0.001, R2adj = 0.16 ,其中“1,69”和“adj”是下標,“p”是斜體

編輯

感謝@Backlin對我的問題@Backlin了一個很好的答案。 我對它進行了一些擴展,以便如果你得到一個非常重要的p值,代碼會替換“<0.001”並將所有統計數據四舍五入到2個小數位,除了我舍入為3的p值。

WW_Data <- data.frame(WW1=rnorm(10), PC1=1:10)
reg1 <- lm(WW1~PC1, WW_Data)
sreg1 <- summary(reg1)
plot(0, 0)
text(0, .2, eval(substitute(
    expression(list(F[list(fn,fd)]==fv,italic(p)==pv,R[adj]^2==R2adj)),
        list(fv = round(sreg1$fstatistic[1],2), fn = sreg1$fstatistic[2],
             fd = sreg1$fstatistic[3], pv = ifelse(sreg1$coefficients["PC1",4] < 0.001, "< 0.001",round(sreg1$coefficients["PC1",4],3)),
             R2adj = round(sreg1$adj.r.squared,2)))))

我自己也經常苦苦掙扎,但它實際上都在?plotmath 你的表達如下,

# Fixed expression
text(x, y, expression(list(F[list(1,69)]==14.38,italic(p)<0.001,R[adj]^2==0.16)))

# Using the values of your lm
sreg1 <- summary(reg1)
text(x, y, eval(substitute(
    expression(list(F[list(fn,fd)]==fv,italic(p)==pv,R[adj]^2==R2adj)),
        list(fv = sreg1$fstatistic[1], fn = sreg1$fstatistic[2],
             fd = sreg1$fstatistic[3], pv = sreg1$coefficients["PC1",4],
             R2adj = sreg1$adj.r.squared))))

這是一個虛擬的例子。

WW_Data <- data.frame(WW1=rnorm(10), PC1=1:10)
reg1 <- lm(WW1~PC1, WW_Data)
sreg1 <- summary(reg1)
plot(0, 0)
text(0, .2, eval(...)) # The expression above

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM