0
> str(s)
 POSIXct[1:6630], format: "2011-02-14 09:31:00" "2011-02-14 09:32:00" "2011-02-14 09:33:00" "2011-02-14 09:34:00" ...
> head(s)
[1] "2011-02-14 09:31:00 EST" "2011-02-14 09:32:00 EST" "2011-02-14 09:33:00 EST" "2011-02-14 09:34:00 EST"
[5] "2011-02-14 09:35:00 EST" "2011-02-14 09:36:00 EST"
> 


> head(AMKR)
  date_holding time_holding close
1   2011-02-14     09:31:00  7.66
2   2011-02-14     09:32:00  7.58
3   2011-02-14     09:33:00  7.54
4   2011-02-14     09:34:00  7.54
5   2011-02-14     09:35:00  7.56
6   2011-02-14     09:36:00  7.54

> as.xts(AMKR[,-1:-2], s) -> newAMKR
> head(newAMKR)
                    [,1]
2011-02-14 00:00:00 7.74
2011-02-14 00:01:00 7.74
2011-02-14 00:02:00 7.74
2011-02-14 00:03:00 7.74
2011-02-14 00:04:00 7.74
2011-02-14 00:05:00 7.73

ご覧のとおり、時間は変更されています。

ティッカー「AMKR」は、同じマシンにある mySQL データベースから抽出されます。

誰かが私を正しい方向に向けることができれば、それは大歓迎です。

================================================

更新: いくつかの問題がありました。

1) mySQL へのデータのアップロードは、時刻形式が %h:%i:%s に設定されて行われました (大文字のHに注意してください)。

2) mySQL のデータを削除し、 Hを使用して再アップロードしました。ここで、午後 12 時に発生する見積もりに対して 12:00:00 の時間を取得しますが、.xts はこれを午前 12 時と解釈するため、12:00:00 から 04:00:00 の間に発生するすべての見積もりは、午前。_

LOAD DATA クエリで%Hを使用したのに、mySQL が時刻を 24 時間形式に変換しなかったのはなぜでしょうか。as.POSIXct を介して R を強制的に変更する方法はあるのでしょうか。調査中.....

4

1 に答える 1

1

私は問題を理解しました。次の時刻形式を使用してデータを mySQL にアップロードする必要があります: '%h:%i:%s %p'。以前、%p を省略しました。また、%p を使用する場合は、小文字の %h を使用する必要があります。

于 2011-05-29T21:16:37.063 に答える