1

2011年12月から2012年6月までの6か月間の金価格の動きを5分間の価格観測値を使用してカバーするRのグラフを試しています。つまり、5913の観測値があり、日付が下部にラベル付けされるようにx軸を変更しようとしています。次のように:

  rt = dat$mid
    x11()
    plot(rt, type="l", col="blue", main="Gold Price", xlab="TBC", 
ylab="Price", ylim=range(rt), xaxt="n")

axis(1, at=1:7, lab=c("Dec '11", "Jan '12", 
    "Feb '12", "Mar '12", "Apr '12", "May '12", "June '12"))

しかし、これは軸をまったく返しません。

デフォルトの軸の範囲:0 1000 2000 3000 4000 5000 6000

私もに変更atしてみましat=1:6000たが、これは仕方がありません。誰かがこれを達成する方法について私にアドバイスできますか?ありがとう

これを行う方法については、広範囲にわたって検索しましたが、これ以外のすべての軸を見つけることができたようです。

要求されたデータの一部:

    Date    mid day returns
1   12/12/2011 00:00    1714.600    2011-12-12  NA
2   12/12/2011 00:05    1714.360    2011-12-12  -0.0139984135
3   12/12/2011 00:10    1714.050    2011-12-12  -0.0180841848
4   12/12/2011 00:15    1713.780    2011-12-12  -0.0157534067
5   12/12/2011 00:20    1712.650    2011-12-12  -0.0659578652
6   12/12/2011 00:25    1713.375    2011-12-12  0.0423231010
7   12/12/2011 00:30    1713.325    2011-12-12  -0.0029182596
8   12/12/2011 00:35    1713.935    2011-12-12  0.0355969495
9   12/12/2011 00:40    1714.950    2011-12-12  0.0592029205
10  12/12/2011 00:45    1714.675    2011-12-12  -0.0160367387
11  12/12/2011 00:50    1714.625    2011-12-12  -0.0029160470
12  12/12/2011 00:55    1714.530    2011-12-12  -0.0055407236
13  12/12/2011 01:00    1713.970    2011-12-12  -0.0326673475
14  12/12/2011 01:05    1710.730    2011-12-12  -0.1892137102
15  12/12/2011 01:10    1709.525    2011-12-12  -0.0704625854
16  12/12/2011 01:15    1708.865    2011-12-12  -0.0386146700
17  12/12/2011 01:20    1709.995    2011-12-12  0.0661039084
18  12/12/2011 01:25    1710.205    2011-12-12  0.0122799836
19  12/12/2011 01:30    1709.100    2011-12-12  -0.0646330198
20  12/12/2011 01:35    1709.050    2011-12-12  -0.0029255591
21  12/12/2011 01:40    1708.840    2011-12-12  -0.0122882831
22  12/12/2011 01:45    1709.250    2011-12-12  0.0239900062
23  12/12/2011 01:50    1709.240    2011-12-12  -0.0005850536
24  12/12/2011 01:55    1709.455    2011-12-12  0.0125778989
25  12/12/2011 02:00    1709.630    2011-12-12  0.0102366569
26  12/12/2011 02:05    1709.835    2011-12-12  0.0119901798
27  12/12/2011 02:10    1709.835    2011-12-12  0.0000000000
28  12/12/2011 02:15    1710.025    2011-12-12  0.0111115660
29  12/12/2011 02:20    1709.880    2011-12-12  -0.0084797677
30  12/12/2011 02:25    1709.540    2011-12-12  -0.0198864136
31  12/12/2011 02:30    1709.530    2011-12-12  -0.0005849544
32  12/12/2011 02:35    1709.660    2011-12-12  0.0076041402
33  12/12/2011 02:40    1709.735    2011-12-12  0.0043867409
34  12/12/2011 02:45    1710.465    2011-12-12  0.0426875628
35  12/12/2011 02:50    1709.465    2011-12-12  -0.0584807308
36  12/12/2011 02:55    1709.880    2011-12-12  0.0242736549
37  12/12/2011 03:00    1709.915    2011-12-12  0.0020469063
38  12/12/2011 03:05    1709.525    2011-12-12  -0.0228107527
39  12/12/2011 03:10    1709.415    2011-12-12  -0.0064347429
40  12/12/2011 03:15    1709.140    2011-12-12  -0.0160886691
41  12/12/2011 03:20    1708.450    2011-12-12  -0.0403793322
42  12/12/2011 03:25    1708.030    2011-12-12  -0.0245867093
43  12/12/2011 03:30    1692.650    2011-12-12  -0.9045311445
44  12/12/2011 03:35    1696.150    2011-12-12  0.2065628685
45  12/12/2011 03:40    1695.875    2011-12-12  -0.0162145032
46  12/12/2011 03:45    1699.075    2011-12-12  0.1885153506
47  12/12/2011 03:50    1698.605    2011-12-12  -0.0276659369
48  12/12/2011 03:55    1698.460    2011-12-12  -0.0085367810
49  12/12/2011 04:00    1700.215    2011-12-12  0.1032755504
50  12/12/2011 04:05    1697.800    2011-12-12  -0.1421418332
51  12/12/2011 04:10    1696.000    2011-12-12  -0.1060757952
52  12/12/2011 04:15    1694.940    2011-12-12  -0.0625195394
53  12/12/2011 04:20    1692.315    2011-12-12  -0.1549927907
54  12/12/2011 04:25    1694.240    2011-12-12  0.1136848631
55  12/12/2011 04:30    1696.505    2011-12-12  0.1335989782
56  12/12/2011 04:35    1694.550    2011-12-12  -0.1153033623
57  12/12/2011 04:40    1693.495    2011-12-12  -0.0622778053
58  12/12/2011 04:45    1693.550    2011-12-12  0.0032476687
59  12/12/2011 04:50    1693.020    2011-12-12  -0.0313001063
60  12/12/2011 04:55    1693.225    2011-12-12  0.0121078067
61  12/12/2011 05:00    1692.800    2011-12-12  -0.0251031816
62  12/12/2011 05:05    1692.850    2011-12-12  0.0029536426
63  12/12/2011 05:10    1692.775    2011-12-12  -0.0044304966
64  12/12/2011 05:15    1692.500    2011-12-12  -0.0162468337
65  12/12/2011 05:20    1693.585    2011-12-12  0.0640858122
66  12/12/2011 05:25    1693.790    2011-12-12  0.0121037677
67  12/12/2011 05:30    1693.165    2011-12-12  -0.0369063071
68  12/12/2011 05:35    1692.640    2011-12-12  -0.0310118276
69  12/12/2011 05:40    1691.665    2011-12-12  -0.0576189219
70  12/12/2011 05:45    1691.165    2011-12-12  -0.0295610482
71  12/12/2011 05:50    1689.865    2011-12-12  -0.0768996468
72  12/12/2011 05:55    1691.065    2011-12-12  0.0709863884
73  12/12/2011 06:00    1692.140    2011-12-12  0.0635492107
74  12/12/2011 06:05    1692.180    2011-12-12  0.0023638427
75  12/12/2011 06:10    1691.795    2011-12-12  -0.0227543053
76  12/12/2011 06:15    1691.860    2011-12-12  0.0038419993
77  12/12/2011 06:20    1691.790    2011-12-12  -0.0041375438
78  12/12/2011 06:25    1690.965    2011-12-12  -0.0487768116
79  12/12/2011 06:30    1689.850    2011-12-12  -0.0659604291
80  12/12/2011 06:35    1690.205    2011-12-12  0.0210055754
81  12/12/2011 06:40    1691.025    2011-12-12  0.0485030605
82  12/12/2011 06:45    1690.900    2011-12-12  -0.0073922396
83  12/12/2011 06:50    1692.000    2011-12-12  0.0650329622
84  12/12/2011 06:55    1690.885    2011-12-12  -0.0659200677
85  12/12/2011 07:00    1691.195    2011-12-12  0.0183319141
86  12/12/2011 07:05    1690.470    2011-12-12  -0.0428782869
87  12/12/2011 07:10    1690.075    2011-12-12  -0.0233690131
88  12/12/2011 07:15    1690.525    2011-12-12  0.0266224932
89  12/12/2011 07:20    1690.525    2011-12-12  0.0000000000
90  12/12/2011 07:25    1690.325    2011-12-12  -0.0118313442
91  12/12/2011 07:30    1690.890    2011-12-12  0.0334199396
92  12/12/2011 07:35    1692.000    2011-12-12  0.0656243650
93  12/12/2011 07:40    1691.150    2011-12-12  -0.0502490293
94  12/12/2011 07:45    1690.765    2011-12-12  -0.0227681655
95  12/12/2011 07:50    1686.855    2011-12-12  -0.2315240759
96  12/12/2011 07:55    1686.200    2011-12-12  -0.0388371970
97  12/12/2011 08:00    1687.240    2011-12-12  0.0616581313
98  12/12/2011 08:05    1687.505    2011-12-12  0.0157048903
99  12/12/2011 08:10    1688.815    2011-12-12  0.0775992836
100 12/12/2011 08:15    1688.675    2011-12-12  -0.0082901800
4

2 に答える 2

3

これが私のコメントの拡張です。偽のデータを作成してプロットします。

> t = seq(as.Date("2011-11-1"),as.Date("2012-06-1"),by=as.difftime("0:15:00"))
> length(t)
[1] 20449
> v = rnorm(length(t))
> plot(t,v)
> plot(t,v,type="l")

そして、私のx軸は日付でうまくラベル付けされています。そして私は20,449の15分間隔を取得します...

データファイルから(タブ区切り文字が失われ、行番号があると思うので、いくつかのコンマを追加する必要がありました):

> gold=read.csv("gold.csv",sep=",",as.is=TRUE)
> gold$Tim = strptime(gold$Date, "%d/%m/%Y %H:%M")
> head(gold)
  row                Date      mid           day         returns
1   1  12/12/2011 00:00   1714.600    2011-12-12              NA
2   2  12/12/2011 00:05   1714.360    2011-12-12   -0.0139984135
3   3  12/12/2011 00:10   1714.050    2011-12-12   -0.0180841848
                       Tim
 1 2011-12-12 00:00:00
 2 2011-12-12 00:05:00
 3 2011-12-12 00:10:00

さて、summary(gold)は、最初の厄介なNAのために、「returns」がキャラクターであることを教えてくれます。それを修正しましょう:

> gold$returns=as.numeric(gold$returns)

次に、単純に:

> plot(gold$Tim,gold$returns,type="l")

zooやxtsなどの時系列データのパッケージを調査したり、RWebページからリンクされた時系列または財務タスクビューを読んだりすることができます...

于 2012-07-16T10:16:36.097 に答える
1

実際、私はあなたがx軸を取得していると推測しています:それは読むには短すぎます(つまり、最初の7つのポイントにラベルを付けるだけです)。

atを1:6000に変更すると、「Error in axis(...):'at'と'labels'の長さが異なります5913!=7」のようなエラーメッセージが表示されます。

axis(blahblah 、、 blahblah)のようなものを試してくださいat = floor(seq(from = 1, to = 5913, length.out = 7))

重要な場合は、seq関数のパラメーターを微調整して、ティックが実際に期待どおりの場所にあることを確認する必要があります。

于 2012-07-16T10:02:12.090 に答える