Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
buildModel创建为.POSIXlt.character(x,tz,…)错误_R_Posixct - Fatal编程技术网

buildModel创建为.POSIXlt.character(x,tz,…)错误

buildModel创建为.POSIXlt.character(x,tz,…)错误,r,posixct,R,Posixct,我正在尝试重建代码。我曾经遇到过很多错误,但这一次让我很郁闷 这是产生错误的命令 rf <- buildModel(data.model,method='randomForest', training.per=c(start(GSPC),index(GSPC["1999-12-31"])), ntree=50, importance=T) 我查看了buildModel的源代码: “buildModel”您是如何测试代码的?你是整个文件的源吗?我安装了R

我正在尝试重建代码。我曾经遇到过很多错误,但这一次让我很郁闷

这是产生错误的命令

rf <- buildModel(data.model,method='randomForest',
         training.per=c(start(GSPC),index(GSPC["1999-12-31"])),
         ntree=50, importance=T)
我查看了buildModel的源代码:


“buildModel”您是如何测试代码的?你是整个文件的源吗?我安装了RGui。我逐行执行代码,直到出错。我在上面遇到了很多错误,但通过编辑代码解决了它们。问题中给出了来源。
Sys.setenv(TZ=“UTC”)
保存了我的一天。
> traceback()
8: stop("character string is not in a standard unambiguous format")
7: as.POSIXlt.character(x, tz, ...)
6: as.POSIXlt(x, tz, ...)
5: as.POSIXct(as.POSIXlt(x, tz, ...), tz, ...)
4: as.POSIXct.default(x)
3: as.POSIXct(x)
2: as.POSIXorDate(intersect(as.character(start.date.index), as.character(end.date.index)))
1: buildModel(data.model, method = "randomForest", training.per = c(start(GSPC), 
   index(GSPC["1999-12-31"])), ntree = 50, importance = T)
"buildModel" <-
function(x,method,training.per,...) {

 as.POSIXorDate <- function(x) {
  class.of.index <- class(index(model.data))
  if("POSIXt" %in% class.of.index) {
    if("POSIXlt" %in% class.of.index) {
      x <- as.POSIXlt(x)
    } else {
      x <- as.POSIXct(x)
    }
  } else {
    x <- as.Date(x)
  }
  x
}

model.id=deparse(substitute(x))
if(length(training.per) != 2) stop("training.per must be of length 2");
model.data <- x@model.data;
start.date.index <- index(model.data[which(index(model.data) >= as.POSIXorDate(training.per[1]))])
end.date.index <- index(model.data[which(index(model.data) <= as.POSIXorDate(training.per[2]))])
training.dates <- as.POSIXorDate(intersect(as.character(start.date.index),
                                           as.character(end.date.index)));
method <- as.character(paste("buildModel.",method,sep=''));
training.data <- model.data[training.dates];
formula <- x@model.formula
mcall <- do.call(method,list(quantmod=x,training.data=training.data, ...));
x@fitted.model <- mcall$fitted;
x@model.inputs <- as.character(mcall$inputs);
x@build.date = as.character(Sys.time());
x@model.id <- paste(class(mcall$fitted)[length(class(mcall$fitted))],
                           as.numeric(Sys.time()),sep='');
x@training.data <- (training.dates);
invisible(x);
}