
Hi Guys,

I am new to R and just trying to write a small script to automate a couple commands. But I run into the setwd(): cannot change working directory.
I googled a little bit and tried all fixes/suggestions with no success.
Basically I have a script that works from inside a directory with my data (/home/sean/Rtest/Data01). Now I want to modify the script to make it run from the upper directory (/home/sean/Rtest) because I have many data directories under /Rtest, such as /home/sean/Rtest/Data01, /home/sean/Rtest/Data02, /home/sean/Rtest/Data03,.....
I want to modify my script so that it will run from /Rtest, and with the data directory name as arg passed to my R script. Here is my mytest02.R script:
>># retrieve args>>args <- commandArgs(TRUE);>># store the current directory>>initial.dir <- getwd();>>newdir <- paste(initial.dir,args,sep="/");>>outfilename <- paste(args,"out",sep=".");>># change to the new directory>>setwd(newdir);>># load the necessary libraries>>library("A");  #>>library("B");>>library("C");>># set the output file>>sink(outfilename);>>........    #data processing>>........    #data processing>>........    #data processing>># close the output file>>sink();>># unload the libraries>>detach("package:A");  #>>detach("package:B");>>detach("package:C");>># change back to the original directory>>setwd(initial.dir);
Then I run the script by
>>sean@I7-3930K:~/Rtest$ R --slave --args Data01 < mytest02.R
I got the error message:
>>sean@I7-3930K:~/Rtest$ R --slave --args Data01 < mytest02.R>>Attempting to load the environment ‘package:R.utils’>>Loading required package: R.methodsS3>>R.methodsS3 v1.2.1 (2010-09-18) successfully loaded. See ?R.methodsS3 for help.>>Loading required package: utils>>R.oo v1.8.3 (2011-11-01) successfully loaded. See ?R.oo for help.>>>>Attaching package: ‘R.oo’>>>>The following object(s) are masked from ‘package:R.methodsS3’:>> >>   throw.default>>>>The following object(s) are masked from ‘package:methods’:>> >>   getClass, getClasses, getMethods>>>>The following object(s) are masked from ‘package:base’:>> >>   attach, detach, environment, gc, load, save>>>>R.utils v1.9.11 (2012-01-17) successfully loaded. See ?R.utils for help.>>>>Attaching package: ‘R.utils’>>>>The following object(s) are masked from ‘package:utils’:>>>>    timestamp>>>>The following object(s) are masked from ‘package:base’:>>>>    cat, commandArgs, getOption, inherits, isOpen, lapply, parse,>>    remove, warnings>>>>[1] "/home/sean/Rtest">>[1] "/home/sean/Rtest/NA"       "/home/sean/Rtest/TRUE"    >>[3] "/home/sean/Rtest/Data01">>[1] "NA.out"       "TRUE.out"     "Data01.out">>Error in setwd(newdir) : cannot change working directory>>Execution halted
What did I do wrong?
One more question, is there anyway to modify this script to make it work on all data directories under /home/sean/Rtest by itself?
Thanks a lot for the help!
Ying
 		 	   		   		 	   		  
	[[alternative HTML version deleted]]

