Hi, all, (version info at end)
I'm running a script which takes input files, does some analysis, and writes the output to csv files. Last night I ran the script (it took ~6.5 hours) thinking all would go well since it ran on a subset of the data without issue. However, when I returned this morning more than half the output files had no data. I checked the Rout file for errors and there were none. After spending about an hour debugging the script I learned the problem was not the script, but I ran out of disk space. But write.table, along with the rest of the script, still continued as if nothing was wrong. My question is: How can I programmatically determine if a user has adequate space to use write.* and then throw an error if they don't? I'm running R on Linux (RHEL4). For the short term, I will accept Linux-only solutions but would prefer an OS-free solution. My quick-and-dirty solution is to use: write.csv(x, file) if(file.info(file)["size"] == 0) stop("you *may* have run out of disk space") However, this solution may not work as there may be other reasons the file size is 0 (e.g. x is NULL or 0-length?). > x <- character(0) > write.table(x, "file", col.names = FALSE, row.names = FALSE) > file.info("file")["size"] size file 0 > > version _ platform i686-pc-linux-gnu arch i686 os linux-gnu system i686, linux-gnu status major 2 minor 5.1 year 2007 month 06 day 27 svn rev 42083 language R version.string R version 2.5.1 (2007-06-27) ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.