4

次の形式の日付を持つCSVファイルがあります:2004年8月25日

quantmodパッケージの関数「periodReturn」を使用するために、これを「xts」オブジェクトとして読み取りたいと思います。

次のファイルを関数に使用できますか?

Symbol Series        Date Prev.Close Open.Price High.Price Low.Price

1       XXX     EQ 25-Aug-2004     850.00    1198.70    1198.70    979.00

2       XXX     EQ 26-Aug-2004     987.95     992.00     997.00    975.30

同じように私を導いてください。

4

2 に答える 2

3

残念ながら、そのts部分について話すことはできませんが、これは、日付を他の関数が日付(または時刻)として読み取ることができる適切な形式に変換する方法です。通常どおり、データをdata.frameにインポートできます(見逃した場合は、ここを参照してください)。次に、関数を使用してDate列をPOSIXltPOSIXt)クラスに変換できますstrptime

nibha <- "25-Aug-2004" # this should be your imported column
lct <- Sys.getlocale("LC_TIME"); Sys.setlocale("LC_TIME", "C") #temporarily change locale to C if you happen go get NAs
strptime(nibha, format = "%d-%b-%Y")
Sys.setlocale("LC_TIME", lct) #revert back to your locale
于 2011-01-21T08:10:04.857 に答える
3

これを試して。迷惑な列を取り除き、時間インデックスの形式を指定してから、xtsに変換して、dailyReturn関数を適用します。

Lines <- "Symbol Series Date Prev.Close Open.Price High.Price Low.Price
1 XXX EQ 25-Aug-2004 850.00 1198.70 1198.70 979.00
2 XXX EQ 26-Aug-2004 987.95 992.00 997.00 975.30"

library(quantmod) # this also pulls in xts & zoo

z <- read.zoo(textConnection(Lines), format = "%d-%b-%Y",
    colClasses = rep(c(NA, "NULL", NA), c(1, 2, 5)))
x <- as.xts(z)
dailyReturn(x)

もちろん、textConnection(Lines)例を自己完結型に保つことであり、実際にはのようなものに置き換えられ"myfile.dat"ます。

于 2011-01-21T11:04:02.093 に答える