1

R名のデータフレームをデータとして持っています。

data <- as.xts(read.zoo("data1.csv",sep=",",tz="" ,header=T))

形式のデータ インデックス2004-01-04 09:44:00 IST

インデックスを日付に変更する操作を適用しました

index(data) <- as.Date(index(data))

出力は であるはずですが2004-01-04、システムは を生成し2004-01-03ます。

これは Windows では正しく機能しますが、Linux では機能しません。

4

2 に答える 2

1
Date <- c("2010-01-04 09:04:00", "2010-01-04 09:05:00")
Open <- c(5222.9, 5220.2)
Low <- c(5224.6, 5222.95)
High <- c(5220.1, 5218.6)
Close <- c(5220.35, 5222.95)
x <- data.frame(Date = Date, Open = Open, Low = Low, High = High, Close = Close)
as.Date(x$Date)

出力:

[1] "2010-01-04" "2010-01-04"

私には問題ないようです。

Edit:

require(zoo)
data <- as.xts(read.zoo("data1.csv",sep=",",tz="" ,header=T))
> dput(data)

structure(c(5222.9, 5220.2, 5224.6, 5222.95, 5220.1, 5218.6, 
5220.35, 5222.95), .Dim = c(2L, 4L), .Dimnames = list(NULL, c("Open", 
"Low", "High", "Close")), index = structure(c(1262592240, 1262592300
), tzone = "", tclass = c("POSIXct", "POSIXt")), class = c("xts", 
"zoo"), .indexCLASS = c("POSIXct", "POSIXt"), tclass = c("POSIXct", 
"POSIXt"), .indexTZ = "", tzone = "")

> as.Date(index(data))

[1] "2010-01-04" "2010-01-04"

私のMacでは正しく動作します。システム ロケールの設定が間違っていると思われます。また、R 内で確認することもできます。

このコマンドは inと in within で何Sys.getlocale()を与えますか?WindowsLinuxR

于 2013-01-04T08:31:57.673 に答える