R ffdf错误:is.null(names(x))不是TRUE



我正在尝试理解r中特定错误消息的含义。

我使用ff数据帧(ffdf)来构建一个部分模型。

然而,当我尝试使用ffdfdply应用预测函数(或任何函数)时,我得到一个神秘的错误消息,我似乎无法破解。我希望这里有人能解释一下它的含义。

PredictedData<-ffdfdply(x=TrainingData,split=TrainingData$id,
FUN=function(x) {x$Predicted<-predict(Model1,newdata=x)
x})

如果我正确地考虑了这一点,ffdfdply将采用TrainingData表,根据TrainingData$id将其分成块,然后使用模型文件Model1应用预测函数。然后它将返回表(在函数字段中标记为x),并将它们组合回表PredictedData中。PredictedData应该与TrainingData相同,只是增加了一个名为"PredictedData"的列。

然而,当我运行这个,我得到相当无用的错误信息。

2014-07-16 21:16:17, calculating split sizes
2014-07-16 21:16:36, building up split locations
2014-07-16 21:17:02, working on split 1/30, extracting data in RAM of 32 split     elements, totalling, 0.07934 GB, while max specified data specified using BATCHBYTES is 0.07999 GB
Error: is.null(names(x)) is not TRUE
In addition: Warning message:
In ffdfdply(x = TrainingData, split = TrainingData$id, FUN = function(x) { :
split needs to be an ff factor, converting using as.character.ff to an ff factor

是的,每个列都有一个名称。这些名称只包含字母数字字符加上句号。但是错误消息使我认为列不应该有名称?我想我搞不懂这到底是什么意思。

我很感激任何人可以提供的任何提示,我很乐意提供更多的细节。

我想我找到解决办法了。

原来我的列名中有句号。当我删除这些句号时,它工作得很好。

最新更新