Define the file path from the file name in R

11,137

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

Share:
11,137
Geek On Acid
Author by

Geek On Acid

I do research in cyberpsychology and computational social science.

Updated on June 14, 2022

Comments

  • Geek On Acid
    Geek On Acid almost 2 years

    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.

  • Geek On Acid
    Geek On Acid over 12 years
    excellent, thank you. On Mac this element in Sys.getenv() is either USER or LOGNAME.