提前感谢您的关注。这就是我的问题:
我有一个数据框,这是它的结构(我删除了一些行):
DATE CASES
02/01/2013 1
02/01/2013 2
03/01/2013 3
04/01/2013 4
04/01/2013 5
08/01/2013 6
08/01/2013 7
16/01/2013 8
18/01/2013 9
18/01/2013 10
18/01/2013 11
21/01/2013 12
22/01/2013 13
23/01/2013 14
23/01/2013 15
23/01/2013 16
23/01/2013 17
23/01/2013 18
23/01/2013 19
24/01/2013 20
24/01/2013 21
24/01/2013 22
30/01/2013 23
30/01/2013 24
这就是我的所作所为:
d<-read.csv("...",sep=";")
model<-lm(d$CASES~d$DATE)
plot(sort(d[,1]),d[,2])
abline(model)
在最后一个命令之后我收到了这条消息:
abline: only using the first two of 11 regression coefficients
它有效&#34;罚款&#34;使用小数据集,但如果我使用整个数据集则没有任何意义。
这是我得到的情节(使用完整的数据集):http://imgur.com/VhnPDil
如果你想尝试,这是完整的:
https://www.dropbox.com/s/qrd9lt4r7gs1r98/regresion.csv
我想知道我是否做错了,因为我不知道。 abline工作正常吗?
再次感谢你!
答案 0 :(得分:3)
您的DATE
变量是factor
(或可能是character
)。您需要将其重新编码为numeric
- 但请注意正确执行此操作而不是获取内部factor
编码,因此首先将重新编码为Date
,然后再重新编码为numeric
。< / p>
阅读数据:
d <- read.csv("regresion.csv",sep=";")
转换您的日期(被解释为非结构化字符串,并由factor
自动转换为read.csv()
):
d$FECHA <- as.Date(d$FECHA,format="%d/%m/%Y")
对于回归,请将这些转换为numeric
:
date.num <- as.numeric(d$FECHA)
date.num
运行回归:
model <- lm(d$ALERTAS.EUROPA~date.num)
绘图 - 请注意,为了使绘图有意义,我们再次需要x轴(FECHA
)为Date
,这就是我们将其转换为上面的原因:
plot(d$FECHA,d$ALERTAS.EUROPA)
最后,添加回归线:
abline(model,col="red",lwd=2)