如何从 Sys.info() 中提取用户名?

gsc*_*ott 2 windows r

为了使脚本尽可能灵活,我尝试自动引用路径中的用户名,即Admin"C:/Users/Admin".

RbaseSys.info()我提供了我正在寻找的信息:

sysname   | release | version                      | nodename          | machine  | login
"Windows" | "7 x64" | "build 7601, Service Pack 1" | "WINDOWS MACHINE" | "x86-64" | "Admin" 
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我无法将其作为任何类型的变量/字符串来执行操作。

谢谢。

Dir*_*tel 5

这些东西往往是非常特定于操作系统的。在我使用的那个上,Sys.getenv("USER")有效。但将其抽象出来是个好主意——幸运的是,Gabor 已经为你做到了这一点:

R> whoami::username()
[1] "mynmaeonthisbox"
R> 
Run Code Online (Sandbox Code Playgroud)

(微)包还有一些其他访问器,并且位于 CRAN 上。

编辑: 尽管我很喜欢whoami包,@Joy 非常正确,问题的狭隘Sys.info()答案是对从返回的对象进行子集化,这将适用于任何R 版本,无需任何附加包。所以Sys.info()["user"]