我在unix服务器上使用.Rprofile
启动R会话时遇到问题。当我开始互动工作时,一切正常。当我启动批处理作业时,它不会(批处理作业通过TORQUE启动并分布在不同的节点上)。我查了?Startup
但我仍然不知道发生了什么。我的.Rprofile
包含print(...)
行只是为了确保我在批处理模式下运行下面的test-job.r
文件。它告诉我,我在当前工作目录和用户目录中有一个.Rprofile
文件(它们是相同的),并且它包含我的print(...)
代码。那么为什么R没有在启动时运行.Rprofile
文件?
.Rprofile
print('Hallo World!')
测试job.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!')
答案 0 :(得分:3)
来自Intro to R:
请注意,R CMD本身并不使用任何R启动文件(in 特别是用户和站点Renviron文件)
我认为这意味着BATCH模式不会读取.Profile
文件。如果您需要,我猜您需要在source
明确test-job.r
。