Tôi có một số dữ liệu csv đã nhập mà tôi đã chuyển thành đối tượng xts. Nếu tôi cố gắng để chuyển đổi nó thành một đối tượng ts (với mục tiêu cuối cùng của việc sử dụng các chức năng như ACF) tôi nhận được:Chuyển đổi xts sang ts: Lỗi trong Vòng (tần số)
"Lỗi trong vòng (tần số): đối số không số để toán học chức năng"
mã để chuyển đổi nó là:
library("zoo")
#Working With Milliseconds
op <- options(digits.secs=3)
#Rename Function
clean_perfmon = function(x, servername) {
names(x)[names(x)=="X.PDH.CSV.4.0...Coordinated.Universal.Time..0."] <- "Time"
x$Time = strptime(x$Time, "%m/%d/%Y %H:%M:%OS")
return(x)
}
web02 = read.csv("/home/kbrandt/Desktop/Shared/web02_2011_07_20_1.csv")
web02 = clean_perfmon(web02, "NY.WEB02")
web02ts = xts(web02[,-1], web02[,"Time"])
Hiện là chủ yếu thường xuyên, nhưng với một số thay đổi trong MS:
time(web02ts)[1:3]
[1] "2011-07-20 11:21:50.459 EDT" "2011-07-20 11:21:51.457 EDT" "2011-07-20 11:21:52.456 EDT"
Một số dữ liệu có NA chỉ:
> web02ts[1:3,1]
X..NY.WEB02.Process.Idle....Processor.Time
2011-07-20 11:21:50.459 NA
2011-07-20 11:21:51.457 1134.819
2011-07-20 11:21:52.456 1374.877
Cập nhật:
Thay đổi để mỗi độ phân giải thứ hai, và một tập hợp con non-na không giúp:
> as.ts(web02ts[2:10,1])
Error in round(frequency) : Non-numeric argument to mathematical function
> web02ts[2:10,1]
X..NY.WEB02.Process.Idle....Processor.Time
2011-07-20 11:21:51 1134.819
2011-07-20 11:21:52 1374.877
2011-07-20 11:21:53 1060.842
2011-07-20 11:21:54 1067.092
2011-07-20 11:21:55 1195.205
2011-07-20 11:21:56 1223.328
2011-07-20 11:21:57 1121.774
2011-07-20 11:21:58 1187.393
2011-07-20 11:21:59 1378.001
>
Ngoài ra, frequency(web02ts)
trả về NULL
.