[英]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.