为什么';我的“.Rprofile”跑了吗?(在unix服务器上)
在unix服务器上使用为什么';我的“.Rprofile”跑了吗?(在unix服务器上),r,R,在unix服务器上使用.Rprofile启动R会话时遇到问题。当我开始一项互动工作时,一切都很好。当我启动批处理作业时,它不会启动(批处理作业通过TORQUE启动,并分布在不同的节点上)。我检查了?启动,但我仍然不知道发生了什么。我的.Rprofile包含一个打印(…)行,只是为了确保,我以批处理模式运行了下面的测试作业.r文件。它告诉我,我在当前工作目录和用户目录中有一个.Rprofile文件(它们是相同的),并且它包含我的打印(…)代码。那么为什么R在启动时不运行.Rprofile文件呢 .
.Rprofile
启动R会话时遇到问题。当我开始一项互动工作时,一切都很好。当我启动批处理作业时,它不会启动(批处理作业通过TORQUE启动,并分布在不同的节点上)。我检查了?启动
,但我仍然不知道发生了什么。我的.Rprofile
包含一个打印(…)
行,只是为了确保,我以批处理模式运行了下面的测试作业.r
文件。它告诉我,我在当前工作目录和用户目录中有一个.Rprofile
文件(它们是相同的),并且它包含我的打印(…)
代码。那么为什么R在启动时不运行.Rprofile
文件呢
.Rprofile
print('Hallo World!')
测试作业.r
profile1 = paste(getwd(),'/.Rprofile',sep='')
file.exists(profile1)
if(profile1) cat(readChar(profile1, 1e5))
profile2 = '~/.Rprofile'
file.exists(profile2)
if(file.exists(profile2)) cat(readChar(profile2, 1e5))
输出
> file.exists(paste(getwd(),'/.Rprofile',sep=''))
[1] TRUE
> if(file.exists(paste(getwd(),'/.Rprofile',sep=''))) cat(readChar(paste(getwd(),'/.Rprofile',sep=''), 1e5))
print('Hallo World!')
>
>
> file.exists('~/.Rprofile')
[1] TRUE
> if(file.exists('~/.Rprofile')) cat(readChar('~/.Rprofile', 1e5))
print('Hallo World!')
发件人:
请注意,R CMD本身并不使用任何R启动文件(在
特别是,用户和站点都不使用Renviron文件)
我认为这意味着批处理模式不读取
.Profile
文件。如果您想要它,我想您需要在测试作业中显式地source
它。r
听起来像是用命令参数--无初始化文件或--vanilla
运行r。