Reputation: 158
I'd like to print the F-statistic and df from a linear regression on a graph created using ggplot2. I've gotten pretty close, but I can't seem to get a comma to appear between the degrees of freedom (1 and 8).
#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)
Upvotes: 2
Views: 111
Reputation: 94162
You can make the subscript a string value:
> 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)
Upvotes: 3