【发布时间】:2018-01-29 15:17:35
【问题描述】:
例如,我有这个数据框:
data <- data.frame(
x=c(1:12)
, case=c(3,5,1,8,2,4,5,0,8,2,3,5)
, rain=c(1,8,2,1,4,5,3,0,8,2,3,4)
, country=c("A","A","A","A","B","B","B","B","C","C","C","C")
, year=rep(seq(2000,2003,1),3)
)
我想执行 2 次线性回归并将它们绘制在一张图上。 简而言之,我想在同一张图上比较病例随时间变化的粗略趋势(简单 lm)和相同的病例趋势,但这次调整为 2000 年至 2003 年的降雨量。
model<-lm(case~ year, data=data)
第二个是多元线性回归。我为此目的使用了此代码,但不确定它是否理想。
modelrain<-lm(case~ I(year +rain), data=data)
我用 abline 做了一个简单的情节,但不知道如何用 ggplot 制作它。我创建了一个新的数据框,但似乎不能完美运行(所以我没有将其余代码放在这里)。
非常感谢
【问题讨论】:
-
你认为
case ~ I(year +rain)在做什么?您只需创建一个新变量v = year + rain并执行case ~ v。将年份添加到雨变量中似乎也不是很有用。 :-) 也许你想做case ~ year + rain?当您控制rain时,您在哪里可以获得year的系数? -
嗨安东尼奥,我默认使用
case ~I(year + rain)。与简单的线性回归相比,如何在同一图表上绘制case ~ year + rain的线性趋势? -
“默认”是什么意思?在第二种情况下,您希望您的情节如何?您提到了多元线性回归,但该图将有 2 个轴(即基于 2 个变量)。你在其他地方有类似的例子想要复制吗?
-
我只想有一个图表,首先显示病例随时间的线性趋势(年份 -
case ~ year,第二,随时间变化的病例随时间调整的线性趋势(case ~ year + rain),使这两个图表具有可比性。 -
不要使用
I(),因为它告诉R字面上使用加法。添加 2001 年的雨值 8 以使用 2001 + 8 = 2009 作为预测变量是一个坏主意,但这就是您使用I()所做的事情。 Antonios 在 cmets 中的建议(以及您在 cmets 中显示的公式)case ~ year + rain是合适的,它只是意味着使用这两个变量,不要像问题中的代码那样逐字添加它们。