Jessica Beyer
Jessica Beyer

Reputation: 158

Including comma in equation on plot in R

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)

Plot with label, missing comma

Upvotes: 2

Views: 111

Answers (1)

Spacedman
Spacedman

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)

enter image description here

Upvotes: 3

Related Questions