选择xdf错误

时间:2016-12-12 19:25:31

标签: r microsoft-r

如果我运行此代码:

myData <- rxDataStep(inData=SensorData, varsToKeep=c("X.U.FEFF.time"),
    rowSelection=floor(as.numeric(X.U.FEFF.time)) ==
                     floor(as.numeric(as.POSIXct("2016-08-29 19:16:10",tz="GMT"))))

它适用于我。

但如果我将代码更改为:

WarnungZeit <- as.POSIXct("2016-08-29 19:16:10",tz="GMT")
WarnungZeit <- WarnungZeit + Test1[1,]$Diff_Warnung

myData <- rxDataStep(inData=SensorData, varsToKeep=c("X.U.FEFF.time"),
    rowSelection=floor(as.numeric(X.U.FEFF.time)) ==
                     floor(as.numeric(WarnungZeit)))

我收到此错误:

ERROR: The sample data set for the analysis has no variables.
Caught exception in file: CxAnalysis.cpp, line: 3756. ThreadID: 4872 Rethrowing.
Caught exception in file: CxAnalysis.cpp, line: 5249. ThreadID: 4872 Rethrowing.
Error in doTryCatch(return(expr), name, parentenv, handler) : 
  ERROR: The sample data set for the analysis has no variables.

你知道为什么我会收到这个错误吗?我该如何解决?

1 个答案:

答案 0 :(得分:2)

原因是您必须显式声明在rxDataStep中引用的全局环境中的任何对象。 Microsoft R函数旨在可在分布式环境中使用,因此您不能假设所有进程都能够访问相同的全局对象。

通过WarnungZeit参数声明您的transformObjects对象,如下所示:

myData <- rxDataStep(inData=SensorData, varsToKeep=c("X.U.FEFF.time"),
    rowSelection=floor(as.numeric(X.U.FEFF.time)) == floor(as.numeric(wz)),
    transformObjects=list(wz=WarnungZeit))