这是我的数据框中的数据子集,在此图中使用;
Year region gear Species.Code query LPUE
1974 Cyprus creel LOB Pre 0.31
1975 Cyprus creel LOB Pre 0.26
1976 Cyprus creel LOB Pre 0.33
1977 Cyprus creel LOB Pre 0.17
1978 Cyprus creel LOB Pre 0.2
1979 Cyprus creel LOB Pre 0.22
1980 Cyprus creel LOB Pre 0.38
1981 Cyprus creel LOB Pre 0.51
1982 Cyprus creel LOB Pre 0.57
1983 Cyprus creel LOB Pre 0.45
1984 Cyprus creel LOB Post 0.43
1985 Cyprus creel LOB Post 0.33
1986 Cyprus creel LOB Post 0.21
1987 Cyprus creel LOB Post 0.69
1988 Cyprus creel LOB Post 0.65
1989 Cyprus creel LOB Post 0.37
1990 Cyprus creel LOB Post 0.35
1991 Cyprus creel LOB Post 0.15
1992 Cyprus creel LOB Post 0.21
1993 Cyprus creel LOB Post 0.17
我已经生成了时间序列数据的线图,并且对于截至1984年的数据和1984年之后的数据拟合了两个线性回归。 使用以下代码;
ggplot(subset(A7,region=="Cyprus"&gear=="creel"&Species.Code=="LOB"),aes(x=Year,y=LPUE,shape=query))+
geom_line()+
geom_smooth(method="lm")+
theme(panel.background = element_rect(fill = 'white', colour = 'black'))
我首先想知道如何在图上打印方程式(我在堆栈溢出中找到的其他示例只处理一个lm),其次我如何保存lm模型以便我可以进行统计测试他们之间的意义。
答案 0 :(得分:2)
您可以通过堆叠geom_smooth命令将几条回归线添加到ggplot。我建议为你想要适合的两个模型创建单独的数据框。
data_upto84 <- subset(A7, year<1985)
data_from84 <- subset(A7, year>1984)
ggplot(data_upto84, aes(YEAR, LPUE)) +
stat_summary(fun.data=mean_cl_normal) +
geom_smooth(method = 'lm') +
geom_smooth(data = data_from84, aes(YEAR, LPUE), method = 'lm')
关于你的第二个问题:&#34;其次我如何保存lm模型,以便我可以对它们之间的重要性进行统计测试&#34;。 您可以通过将模型分配给对象来保存模型:
model1 <- lm(LPUE ~ 1 + YEAR, data = data_upto84)
model2 <- lm(LPUE ~ 1 + YEAR, data = data_from84)
我不清楚你想用这些模型测试什么。标准模型比较(例如使用anova函数)在两个不同样本上运行模型时无效。