2015-11-19 67 views
2

当我使用的功能“取消()”,该文件是从我的眼睛被删除,但仍是驱动器的容量仍然是一样的过去,直到我关闭R.在我的程序运行的,我需要在驱动器但具有“断开连接”功能只需将文件从我眼前消失,驱动器的容量一定的自由空间没有改变,直到收盘R.任何想法....删除文件在硬盘由R

回答

0

你可以改为传递删除文件的shell命令。

shell('rm path/to/file.fl') 
+0

...只能在UNIX,Windows上应该是'德尔路径/ ....' – Tim

0

R具有选自R级操作文件的一些功能:

file.create(..., showWarnings = TRUE) 
file.exists(...) 
file.remove(...) 
file.rename(from, to) 
file.append(file1, file2) 
file.copy(from, to, overwrite = recursive, recursive = FALSE, 
      copy.mode = TRUE, copy.date = FALSE) 
file.symlink(from, to) 
file.link(from, to) 

那些功能中file.remove(...)函数删除文件,都可以找到。请参阅?files了解更多信息。

0

虽然你可能会尝试使用不同的删除功能(S),这可能不是一个真正的解决办法 - 你不会得到磁盘空间了。

基本上,文件元数据有引用计数器。如果文件在一个目录中,ref.counter就是一个。如果文件链接到两个目录,ref.counter是两个。如果某个程序打开文件(例如R),则ref.counter会被一个文件碰撞。当你关闭文件时,ref.counter减少一个。

只有当ref.counter设置为0,OS /文件系统是免费回收文件数据,并得到磁盘空间了。

道德故事:您可能想要取消链接/删除文件,但也可以关闭R内的文件。使用连接可能更好地满足您的需求https://stat.ethz.ch/R-manual/R-devel/library/base/html/connections.html。刚刚打开的文件连接,从中读取,关闭它,明确地设置连接为NULL