55

as.xts() メソッドを使用して、データ フレームを xts オブジェクトに変換しようとしています。ここに私の入力データフレームqがあります:

q
                      t x  
1  2006-01-01 00:00:00  1  
2  2006-01-01 01:00:00  2  
3  2006-01-01 02:00:00  3

str(q)
    'data.frame':   10 obs. of  2 variables:
 $ t: POSIXct, format: "2006-01-01 00:00:00" "2006-01-01 01:00:00" "2006-01-01 02:00:00" "2006-01-01 03:00:00" ...  
 $ x: int  1 2 3 4 5 6 7 8 9 10

結果は次のとおりです。

> as.xts(q)
Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

これは私が考えることができる最も単純な例なので、それが機能しないのは非常にイライラします...どんな助けも大歓迎です!

4

9 に答える 9

83

これは明確に文書化されています --- xtszooオブジェクトは、 2 つの引数を指定することによって形成されます。つまり、データを運ぶvectororと、時間情報 ( zooの場合は順序付け)を提供する, , ... 型です。matrixDatePOSIXctchron

だから何かをする

 qxts <- xts(q[,-1], order.by=q[,1])

設定する必要があります。

于 2010-11-28T14:52:28.747 に答える
21

as.xts は、デフォルトで日付が data.frame の行名に格納されていると想定しています。したがって、エラーメッセージ。簡単で汚い修正は次のとおりです。

rownames(q) = q[1]
as.xts(q)

ただし、日付文字列を含む余分な列が表示されます。理想的には、開始する行名として日付を使用して data.frame を構築します。

于 2010-11-28T14:52:24.097 に答える