Geek On Acid
Geek On Acid

Reputation: 6410

Define the file path from the file name in R

I know that I can find file name from full file path in R, but is there a way to define the path to the file just from the file name? Think about such scenario: you store the data file in the cloud (e.g. Dropbox) so the path for this file is slightly different at your home: read.table("path/user1/data.dat") and work: read.table("path/user2/data.dat"). Therefore, every time you want to read.table() you have to change one element of the path to match either you work or home path (on Mac OS X it's specifically the User part of the path that you need to change). I was wondering whether it's possible to make R to automatically detect such change in the path (e.g. different User) or detect the path to the file just from the name of this file.

Upvotes: 2

Views: 12388

Answers (1)

Andrie
Andrie

Reputation: 179418

You can access the environment variables with Sys.getenv().

Here is a short extract from the results on my machine:

Sys.getenv()

...
USERNAME 
"Andrie" 
USERPROFILE 
"C:\\Users\\Andrie" 
windir 
"C:\\Windows"

You can extract individual elements by including the name of that element in the call:

> Sys.getenv("USERNAME")
[1] "Andrie"

If you can identify in these variables exactly what it is you need, you can then construct your file path using file.path


For more information on the environment variables, and some system-specific exceptions, see ?Sys.getenv

Upvotes: 6

Related Questions