私は現在、価格スプレッドの時系列をグラフ化してから、回帰を伴うアブラインを追加しようとしています。開始する直前にプロットを取得したかったので、現在これは単なる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)
そして、あらゆる種類のアブラインが表示されないか、垂直線(!)になります。b = 0の場合のみ、水平線になります。
これはデータオブジェクトまたは入力に関係していると思いますが、なぜそれが機能しないのか本当に迷っています。Dateオブジェクトでas.Dateも試しましたが、何も変わりません。カスタムグリッド、パー、ロケーターテキスト、軸などを追加するなど、他のすべてのプロットコマンドは機能しているようです。クリーンなRセッションを開始し、上記のコードを入力するだけで問題が発生します。また、回帰変数、a値とb値、またはプロット変数の順序を切り替えようとしました。それでも動作しません
何が問題になるのか想像できますか?
編集:typeof()の場合はデータ型をチェックしました。typeof xは「リスト」であり、他のすべては「ダブル」です。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でも、線は同じです)