0
我試圖使用rRTSCov功能和我得到一個錯誤highfreqency包錯誤錯誤:缺失值,其中TRUE/FALSE需要
library(highfrequency)
head(all)
dim(all)
class(all$Price)
all$Price <- as.numeric(all$Price)
class(all$Price)
sum(is.na(as.numeric(all$Price))) ## of NAs
xt<- as.xts(all, order.by= as.POSIXct(all$Time))
head(xt)
l<- list(xt)
class(l)
head(l[[1]])
dim(l[[1]])
rRTSCov(l, cor=FALSE, startIV=NULL, noisevar = NULL,
K = 300 , J = 1, K_cov = NULL , J_cov = NULL,
K_var = NULL , J_var = NULL, eta = 9, makePsd = FALSE)
OUTPUT:
> library(highfrequency)
> head(all)
Time Price
1 2015/06/29 09:30:00.127000000 163.98
2 2015/06/29 09:30:00.173000000 163.92
3 2015/06/29 09:30:00.173000000 163.98
4 2015/06/29 09:30:00.173000000 163.98
5 2015/06/29 09:30:00.173000000 163.98
6 2015/06/29 09:30:00.173000000 163.99
> dim(all)
[1] 29148 2
> class(all$Price)
[1] "numeric"
> all$Price <- as.numeric(all$Price)
> sum(is.na(as.numeric(all$Price))) ## of NAs
[1] 0
> xt<- as.xts(all, order.by= as.POSIXct(all$Time))
> head(xt)
Time Price
2015-06-29 09:30:00 "2015/06/29 09:30:00.127000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9200"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9900"
> l<- list(xt)
> class(l)
[1] "list"
> head(l[[1]])
Time Price
2015-06-29 09:30:00 "2015/06/29 09:30:00.127000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9200"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9800"
2015-06-29 09:30:00 "2015/06/29 09:30:00.173000000" "163.9900"
> dim(l[[1]])
[1] 29148 2
> rRTSCov(l, cor=FALSE, startIV=NULL, noisevar = NULL,
+ K = 300 , J = 1, K_cov = NULL , J_cov = NULL,
+ K_var = NULL , J_var = NULL, eta = 9, makePsd = FALSE)
Error in if (a < b) { : missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In as.double.xts(pdata) : NAs introduced by coercion
2: In as.double.xts(pdata) : NAs introduced by coercion
任何想法爲什麼它說錯誤if(a < b){:缺少值,其中TRUE/FALSE需要
謝謝。
爲什麼你的'price'列是一個字符向量而不是數字?嘗試使用'all $ Price < - as.numeric(全部$ Price)'來更改它。如果這給你一個「NAs介紹」的警告,你需要用'all [is.na(as.numeric(all $ Price))]'查看原始'all'數據中的那些行,因爲它們包含不能轉換成數字。例如,它們可能包含逗號 –
那裏看起來有0個NAs,向量是數字已經是嗯... – user3022875