在R

时间:2016-05-30 15:59:00

标签: r plot ggplot2 annotate

我想在使用ggplot2创建的图表上的线性回归中打印F统计量和df。我已经非常接近,但我似乎无法在自由度(1和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

1 个答案:

答案 0 :(得分: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