2016-05-30 2 views
2

Я хотел бы напечатать F-статистику и df из линейной регрессии на графике, созданном с использованием ggplot2. Я получил довольно близко, но я не могу заставить запятую появляться между степенями свободы (1 и 8).Включая запятую в уравнение на графике в R

#generate some data 
x <- 1:10 
y <- 1:10 + rnorm(10, 0.1, 0.2) 

#run linear regression 
mod1 <- lm(y~x) 

#get r2 and df and round for better printing 
Fstat <- round(summary(mod1)$fstatistic, 3)[1] 
df <- round(summary(mod1)$fstatistic, 1)[2:3] 

#write out the equation to be printed to plot 
eq <- paste("F[",df[1],"]","[,]","[",df[2],"]==",Fstat) 

#plot the data and label with the equation 
qplot(x, y) + annotate("text", x=2, y=8, label=eq, parse=TRUE) 

Plot with label, missing comma

ответ

3

Вы можете сделать индекс строковое значение:

> eq <- paste("F['",df[1],",",df[2],"']==",Fstat,sep="") 
> eq 
[1] "F['1,8']==1579.927" 

> qplot(x, y) + annotate("text", x=2, y=8, label=eq, parse=TRUE) 

enter image description here