始终在 R 中跨用户设置路径

Always setting path across users in R

我有一个简单的问题,如何始终在用户群中设置相同的路径。例如,我使用 getwd() 获取我的路径:“C:/Users/Genetics/Documents”。我可以在我的脚本中设置,不管谁用这个去“C:/Users/Any User/Desktop”吗?我想制作这种液体,所以我没有针对每个人进行更正。

ALWAYS_TO_DEKSTOP<- Some way to be flexible to Desktop across users and systems???
PathName <- paste(ALWAYS_TO_DEKSTOP,"BIDS/IDs.txt", sep="");
read.table(PathName, header=T);

您可以使用 file.path(Sys.getenv("USERPROFILE") 获取用户主目录的路径。然后附加你想要的文件夹,例如Documents 所以你得到

file.path(Sys.getenv("USERPROFILE"),"Documents")
[1] "C:\Users\my_username/Documents"

注意 Windows 上的转义反斜杠。您可以使用 normalizePath() 更改它,请参阅 ?normalizePath 了解您可能需要它的原因。

normalizePath(path = file.path(Sys.getenv("USERPROFILE"),"Documents"), winslash = "/")
[1] "C:/Users/my_username/Documents"

Sys.getenv() 中还有其他可用路径,例如(在 Windows 上)

ProgramData                                    C:\ProgramData
ProgramFiles                                   C:\Program Files
ProgramFiles(x86)                              C:\Program Files (x86)
RTOOLS40_HOME                                  C:\rtools40