Мне нужно отобразить на одном графике два уравнения линейной регрессии и коэффициенты (r, r², p, N). Я сделал это с помощью facet_grid, но теперь две кривые нельзя отображать отдельно.
Я изменил код, похожий на функцию facet_grid:
equation = function(file) {
mod = lm(y ~ x,data=file)
mod_sum = summary(mod)
formula = sprintf("y= %.3f %+.3f*x", coef(mod)[1], coef(mod)[2])
r = mod_sum$r.squared
r2 = sprintf("r2= %.3f", r)
x = cor.test(~x + y,data=file)
r0 = sprintf("r= %.3f", x[4])
p1 = pf(mod_sum$fstatistic[1],mod_sum$fstatistic[2],mod_sum$fstatistic[3],lower.tail=F)
p =sprintf("p = %.3f", p1)
n0 = length(mod_sum$residual)
n1 = sprintf("N = %.f", n0)
data.frame(formula=formula, r=r0,r2=r2, p=p,n=n1, stringsAsFactors=FALSE)
}
equation_end = ddply(file, c("outlier"), equation)
Данные двух регрессий находятся в одном столбце и разделены коэффициентом «выброс».
Как я могу отобразить эти уравнения на одном графике?
dput(equation_end)
или очень помогло бы, если оно не слишком велико... - person Gregor Thomas   schedule 24.06.2015