2016-05-21 182 views
2

我不能找出迴歸線方程,r^2和我用plot函數geom_smooth繪製的線性迴歸的p值。ggplot2:如何獲得迴歸直線方程的值,r^2和p值?

這是我的代碼:

g <- ggplot(data=data.male, aes(x=mid_year, y=mean_tc, colour=data.male$survey_type)) 
    g <- g + geom_point(shape = 20, size =2) 
    g <- g + geom_smooth(method=lm, na.rm = FALSE, se = TRUE, aes(group=1), colour = "black") 
    g <- g + theme_gray(base_size=24) 
    g <- g+ xlab("Year") 
    g <- g + ylab("Mean serum total cholesterol (mmol/L)") 
    g <- g + theme(legend.position="bottom") 
    g <- g + scale_y_continuous(limits=c(3.5,6.5), breaks=c(3.5,4,4.5,5,5.5,6,6.5)) 
    g <- g + scale_x_continuous(limits=c(1980,2015), breaks=c(1980,1990,2000,2010)) 
    g <- g + scale_colour_manual(name = "Survey Type", values= c("Red", "Blue", "Green")) 
    g 

[1]:

+0

正如@Spacedman在他的回答中所說,爲什麼不適合自己的模型並提取必要的數據? – Heroka

+0

如果你看到[這裏]的答案(http://stackoverflow.com/questions/7549694/ggplot2-adding-regression-line-equation-and-r2-on-graph),你也會看到它使用' lm'也在內部。 –

+0

另請參閱:http://stackoverflow.com/questions/10302851/extract-coefficients-from-ggplot2-created-nls-fit –

回答

6

不要使用繪圖功能進行建模。使用lm函數來安裝模型。

然後使用summary方法獲取您需要了解的所有信息。

您應該得到與繪圖功能相同的結果,我猜想在內部使用lm

+0

感謝您的支持!如何編輯代碼以使用'lm'而不是'geom_smooth'來匹配模型? – Nadiah

+0

「geom_smooth」函數接受一個名爲「method」的參數,您可以在其中指定「method ='lm'」,所以geom_smooth函數實際上將使用「lm」本身來擬合模型。 – AHegde

相關問題