R:is“中的ff包;“无磁盘空间”;权限问题出错?

R:is“中的ff包;“无磁盘空间”;权限问题出错?,r,diskspace,ff,R,Diskspace,Ff,我正在使用RStudio中的ff包,它运行在我所在部门的Windows服务器上。我用它来处理一些大型数据集,这些数据集也存储在网络驱动器上。我已确认我在Windows中具有对驱动器的完全读/写访问权限,但当我使用ff软件包中直接将平面文件写入磁盘的任何函数(例如ff()或as.ff())时,会出现“无磁盘空间”错误 但是,如果我将数据写入另一个驱动器,然后使用pattern()将其移动到网络驱动器,则工作正常。我只有ff软件包有这个问题。来自base的其他函数,如save()和write.csv

我正在使用RStudio中的
ff
包,它运行在我所在部门的Windows服务器上。我用它来处理一些大型数据集,这些数据集也存储在网络驱动器上。我已确认我在Windows中具有对驱动器的完全读/写访问权限,但当我使用
ff
软件包中直接将平面文件写入磁盘的任何函数(例如
ff()
as.ff()
)时,会出现“无磁盘空间”错误

但是,如果我将数据写入另一个驱动器,然后使用
pattern()
将其移动到网络驱动器,则工作正常。我只有
ff
软件包有这个问题。来自
base
的其他函数,如
save()
write.csv()
工作正常。是否存在特定于
ff
程序包的权限问题?我在下面提供了一个简单的工作示例

> library(ff)
>
> # Set ff temporary directory to Network Drive
> options(fftempdir = "\\\\fs01/analysis/tmp/")
>
> test <- 1:10
> test.ff <- ff(test)
Error in ff(test) : no diskspace
>
> # But if I write it to another drive and then move it over, it works fine
>
> # Set the ff temporary directory to another drive
> options(fftempdir = "R:/analysis/tmp/")
> test.ff <- ff(test)
>
> physical(test.ff)$filename
[1] "R:/analysis/tmp/ff32081b6926e5.ff"
>
> pattern(test.ff) <- "\\\\fs01/analysis/tmp/"
>
> physical(test.ff)$filename
[1] "\\\\fs01/analysis/tmp/3208208747f3.ff"

将此张贴在此处以供将来参考。我们认为在ff源代码中解析服务器地址存在某种问题,可能是一个bug。 我们遇到了与您完全相同的问题—通过为远程位置设置一个名为“x”的网络驱动器,然后使用该地址,问题得到了解决

x:/yourfolder
而不是

\\servername/yourfolder
我们还注意到,磁盘上的ff文件已分配,但在使用以下内容时出现错误“无磁盘空间”

ff.test <- ff(vmode="double",filename="\\servername/youfolder/ff.test",dim=c(1000,1000))

ff.test消息说您的磁盘空间已满。你的磁盘满了吗?保存(test,file=“\\\\fs01/analysis/tmp/test.RData”)是否有效,还是因为磁盘已满而失败?@jwijffels否,磁盘未满。大约有500GB可用
save(test,file=“\\\\fs01/analysis/tmp/test.RData”)
write.csv(test,file=\\\\fs01/analysis/tmp/test.csv”)
两者都可以正常工作,在其他地方创建文件并使用
模式()
我使用网络驱动器存储ff文件时也遇到过类似的设置,但从未遇到过该问题。只有在驱动器已满的情况下才出现。感谢您继续关注此问题。我最终也遇到了此问题,但只是经过了多次尝试和错误。
ff.test <- ff(vmode="double",filename="\\servername/youfolder/ff.test",dim=c(1000,1000))