我目前正在尝试绘制价格差价的时间序列,然后添加一个带有回归的 abline。目前这只是一个 AR(1),因为我想在开始之前得到这个情节。
数据来自 .XLS,并在 OpenOffice 中按此方式组织
Date - Price1 - Price 2 - NA.(Empty)
01.01.1982 - 1.56 - 2.53 -
[...]
我正在读这个
library(xlsx)
library(AER)
x<-read.xlsx("data.xlsx",1)
然后我像这样填充空列
x$NA.=(x$Price1-x$Price2)
所以我现在在内存中有一个生成这个 head() 的表
Date Price1 Price2 NA.
1 1987-08-28 18.30 19.44 1.24
2 1987-08-31 18.65 19.75 1.12
(日期之前有一个索引列,我真的不需要它,因为我按日期绘制但它在那里)
然后我做
plot(x$Date,x$NA.)
我得到了正确的情节。我已经稍微修改了该绘图命令以获得正确的网格、轴和日期和线条等,但即使使用上面的简单绘图版本,我的问题也仍然存在,所以问题不在于我的编辑。
问题如下:
如果我现在尝试绘制一条线
abline(a=1,b=1,col="blue")
它不起作用。该命令通过,但没有显示一行。然而:
abline(a=1,b=0,col="blue")
按预期工作并显示一条蓝色的水平线。
我遇到的问题是我想将回归对象输入到情节中,例如像这样
SPRC=zoo(x$NA.,x$Date)
SPRC2=lag(SPRC, -1)
SPRC=SPRC[2:length(SPRC)]
LMO<-lm(SPRC ~ SPRC2)
abline(a=LMO$coefficients[2],b=LMO$coefficients[1],col="red")
我想做的是一个简单的 AR 来测试。回归按预期工作,但 abline 不会产生输出。
我还尝试在没有变量的情况下进行 abline - 它仅在 b = 0 时才有效。我也尝试做一个
plot(SPRC)
然后是任何类型的 abline,但要么没有出现,要么变成垂直线(!)。只有当 b=0 时,它才会变成一条水平线。
我想这与数据对象或输入有关,但我真的不知道为什么它不起作用。我还在 Date 对象上尝试了 as.Date ,但这并没有改变任何东西。所有其他绘图命令似乎都可以工作,例如添加自定义网格、par、定位器文本、轴等。如果我启动一个干净的 R 会话并且几乎只输入上面的代码,就会出现问题。我还尝试切换回归变量、a 和 b 值或绘图变量的顺序。它仍然不起作用
你能想象可能是什么问题吗?
编辑:如果typeof(),我刚刚检查了数据类型。typeof x 是“list”,其他一切都是“double”,即使我做了一个x$Date<-as.Date(x$Date,"%d.%m.%Y")
Edit2:我继续将文件保存为 csv 并用 read.csv 读取它然后我做了
plot(x$Price1)
和
abline(a=40,b=1)
它所做的只是产生一条顺时针略微转动的垂直(!)线。我的R坏了吗?
(我意识到价格的比例是关闭的 - 点差约为 0。但即使 a=40,这条线也是相同的)