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

时间:2014-07-17 02:35:16

标签: r bigdata

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

我正在使用ff数据框(ffdf)来构建一个rpart模型。这很好。

然而,当我尝试使用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相同,除非添加了一个名为“Predicted”的附加列。

然而,当我运行它时,我得到了相当无用的错误消息。

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

是的,每列都有一个名字。这些名称仅包含字母数字字符和句点。但错误消息让我觉得列不应该有名字?我想我很困惑这意味着什么。

我感谢任何人都能提供的任何提示,我很乐意提供更多细节。

1 个答案:

答案 0 :(得分:0)

我想我找到了解决方法。

原来我的列名中有句号。当我删除这些时期时,这非常有效。