0

我正在使用 RevoscaleR,并且已成功将 csv 文件转换为已保存到本地磁盘的 xdf 文件。

但是,当我尝试运行调用这些 xdf 文件的函数时,我收到一条错误消息,指出没有这样的文件或目录:

The file or directory 'P:/PROPENSITY/CL_Generic_Retail_201506' cannot be found.

让我暴露整个过程:

我的工作目录:

> getwd()
[1] "P:/PROPENSITY"

我使用此代码将 csv 文件转换为 xdf:

rx_CL_Generic_Retail_201506 <- rxImport(
  
  inData = "CL_Generic_Retail_201506_23-05-2017.csv",
  
  outFile = "CL_Generic_Retail_201506.xdf",
  
  overwrite = TRUE
  
)

然后我用这段代码检查转换是否成功:

rxSummary(formula = ~ Avg_Deposits + Total_Num_ + Sumof_CC_AVGBAL_,  
          
          data = "CL_Generic_Retail_201506.xdf"
          
)


Summary Statistics Results for: ~Avg_Deposits + Total_Num_ + Sumof_CC_AVGBAL_
Data: "CL_Generic_Retail_201506.xdf" (RxXdfData Data Source)
File name: CL_Generic_Retail_201506.xdf
Number of valid observations: 7155413 

Name             Mean        StdDev      Min        Max        ValidObs MissingObs
Avg_Deposits     4562.914627 128614.5683 -325684032 69317080.0 7155413        0   
Total_Num_          7.062068    247.1506          1   224579.0  831567  6323846   
Sumof_CC_AVGBAL_  951.484138   2249.3149          0   164746.6  601304  6554109  

到那时一切都很好。

我继续将文件转换为 xdf 文件。

然后我返回到同一个文件并尝试运行同一个函数(摘要),我收到以下错误消息:

> rxSummary(formula = ~ Avg_Deposits + Total_Num_ + Sumof_CC_AVGBAL_,  
+           
+           data = "CL_Generic_Retail_201506.xdf"
+           
+ )

The file or directory 'CL_Generic_Retail_201506.xdf' cannot be found.

如果我重复该过程并再次运行 rxImport,则 rxSummary 函数会再次运行。但是过了一会儿,同样的错误又重复了。

这可能与反斜杠有关吗?

即:消息是:

The file or directory 'P:\PROPENSITY\CL_Generic_Retail_201506.xdf' cannot be found.

但是当我要求 R 打印它返回的工作目录时:

> getwd()
[1] "P:/PROPENSITY"

请注意,在 RevoScaleR 错误消息中,斜杠是 \,而 R 的 getwd() 输出有 /。

如果这是问题,我能做些什么呢?

顺便说一下,此问题发生在安装了 Windows 和 RevoScaleR 的工作站中。在同时运行 RevoScaleR 的笔记本中,问题不会出现。

我会很感激任何建议。

-------------------------------------------------- -------------------------

这是明显存在文件的目录的图像。 带有 xdf 文件的 PROPENSITY 文件夹的图像

4

1 回答 1

0

尝试使用 append = "rows"。最后一个 csv 可能是空的,导致 xdf 被一个空的 xdf 覆盖,而 xdf 不是文件。

rx_CL_Generic_Retail_201506 <- rxImport(inData = "CL_Generic_Retail_201506_23-05-2017.csv", outFile = "CL_Generic_Retail_201506.xdf",  overwrite = TRUE,
append = "rows"
)
于 2017-07-21T14:47:58.683 回答