[R] Store filename

Jim Lemon jim at bitwrit.com.au
Sat Jun 7 13:46:38 CEST 2008


DAVID ARTETA GARCIA wrote:
> Hi list,
> 
> Is it possible to save the name of a filename automatically when  
> reading it using read.table() or some other function?
> My aim is to create then an output table with the name of the original  
> table with a suffix like _out
> 
> example:
> 
> mydata = read.table("Run224_v2_060308.txt", sep = "\t", header = TRUE)
> 
> ## store name?
> 
> myfile = the_name_of_the_file
> 
> ## do analysis of data and store in a data.frame "myoutput"
> ## write output in tab format
> 
> write.table(myoutput, c(myfile,"_out.txt"),sep="\t")
> 
> the name of the new file will be
> 
> "Run224_v2_060308_out.txt"
> 
Hi David,
If you look at the code in the "htmlize" function in the prettyR 
package, you can see how to break down a filename into its components 
and then assemble a filename that is the same except for the extension.

  # if there is no HTML base name, use the Rfile name
  if(missing(HTMLbase)) {
   HTMLbase<-unlist(strsplit(basename(Rfile),"\\."))
   HTMLbase<-HTMLbase[1:(length(HTMLbase)-1)]
   if(missing(title)) title<-paste("Listing of",HTMLbase)
  }
  # If there is no HTML directory, use the path on the Rfile
  if(missing(HTMLdir)) {
   if(length(grep("/",Rfile))) HTMLdir<-unlist(strsplit(Rfile,"/"))
   else HTMLdir<-unlist(strsplit(Rfile,"\\\\"))
   HTMLdir<-
   ifelse(length(HTMLdir)==1,".",file.path(HTMLdir[-length(HTMLdir)]))
  }
...
  # here we make the filename for the listing
  listname<-paste(HTMLdir,"/",HTMLbase,".html",sep="",collapse="")


Jim



More information about the R-help mailing list