I appreciate everyone's response. I will look at the options found in stack overflow.
My issue is that i'm trying to load a file (.csv) relative to the R file. I pass the directory structure around but that directory structure may be put into something I'm unaware of. If packages can solve this problem, that would be the right approach. Any direction in regards to this? On Mon, Feb 22, 2010 at 4:07 PM, William Dunlap <wdun...@tibco.com> wrote: > If you restructure your code as a bunch > of functions calling functions instead of > scripts sourcing scripts then the problem > would largely go away. Put the functions > into a package with a namespace and it > becomes more reliable. > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > > > -----Original Message----- > > From: r-help-boun...@r-project.org > > [mailto:r-help-boun...@r-project.org] On Behalf Of Duncan Murdoch > > Sent: Monday, February 22, 2010 1:49 PM > > To: Rob Forler > > Cc: r-help@r-project.org > > Subject: Re: [R] relative file path > > > > On 22/02/2010 3:44 PM, Rob Forler wrote: > > > Hello, > > > > > > Is there a way to find where a script is located within a > > script? getwd() > > > doesn't do what I want because it depends on where R was > > called from. I want > > > something like source("randomFile") and within randomFile there is a > > > function called whereAmI() which returns c:\blah\blah2\randomFile.R > > > > > > In perl there is a library called FindBin and $FindBin::Bin has the > > > directory of the file that called $FindBin::Bin. > > > > Some dirty code to do that would be to look back through the > > stack for > > the local variables in the source() call, and expand the > > filename from > > there. That's probably what Hadley's code was doing in the > > thread that > > Hrishi mentioned. > > > > Here's a version: > > > > > > whereAmI <- function() { > > filename <- sys.frames()[[1]]$ofile > > normalizePath(filename) > > } > > > > > > This works when a call to it is in a file being sourced; if > > there were > > nested source() calls, then something more elaborate like > > Hadley's code > > would be needed. And this might break tomorrow: you're not > > supposed to > > look at local variables like ofile. > > > > Duncan Murdoch > > > > ______________________________________________ > > 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. > > > > ______________________________________________ > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.