红点用红色回归线建模,蓝点用蓝色回归线建模。我想比较两个回归斜率,看看它们是否有显着差异。我相信这是通过ANCOVA完成的。有谁知道如何在R中实现这个?
执行图表的数据如下:
ggplot(FeqAndASCATmergeCell) +
geom_bar(aes(code,Cellul*100),stat="identity")+
geom_point(aes(code,freq),colour="blue")+
geom_smooth(aes(code,freq,group=2),fill = "blue",alpha=0.2)+
geom_point(aes(code,CNI*20),colour="red",size=5)+
geom_smooth(aes(code,CNI*20,group=2),fill = "red", colour="red", alpha=0.2)+
theme(axis.text=element_text(size=14)) +
theme(axis.title=element_text(size=14))+
theme(legend.title=element_blank())+
theme(legend.position = c(0.7, 0.7))+
theme(axis.text.x=element_text(angle=-90))+
scale_y_continuous(breaks=c(25, 50,75, 100,300,600,900))+
theme(axis.text.y=element_text( size=10)) +
theme(legend.position = "none")+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = "black")) +
theme(plot.title = element_text(size=18,lineheight=.8, face="bold",vjust=1))+
theme(axis.text.x=element_text(angle=-90, size=10))
以下是图表的代码
{{1}}
答案 0 :(得分:1)
您可以将回归线与ANCOVA的斜率进行比较,但对于直线则可以仅,因此具有恒定的斜率。因为您没有向geom_smooth
提供方法,所以它使用loess
并且您的线路不具有恒定的斜率。例如,您可以使用method = lm
:
ggplot(FeqAndASCATmergeCell) +
geom_point(aes(code,freq),colour="blue")+
geom_smooth(aes(code,freq,group=2),fill = "blue",alpha=0.2, method="lm")+
geom_point(aes(code,CNI*20),colour="red",size=5)+
geom_smooth(aes(code,CNI*20,group=2),fill = "red", colour="red", alpha=0.2, method="lm")+
theme(axis.text=element_text(size=14)) +
theme(axis.title=element_text(size=14))+
theme(legend.title=element_blank())+
theme(legend.position = c(0.7, 0.7))+
theme(axis.text.x=element_text(angle=-90))+
scale_y_continuous(breaks=c(25, 50,75, 100,300,600,900))+
theme(axis.text.y=element_text( size=10)) +
theme(legend.position = "none")+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = "black")) +
theme(plot.title = element_text(size=18,lineheight=.8, face="bold",vjust=1))+
theme(axis.text.x=element_text(angle=-90, size=10))
接下来,您可以使用ANCOVA来测试这些线是否不同。基本上,您测试线的斜率或截距是否显着不同。如何做到这一点会得到太长的答案,但请参阅here获取R示例。