为什么我的`.Rprofile`没有运行? (在unix服务器上)

时间:2013-11-18 15:59:45

标签: r

我在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!')

1 个答案:

答案 0 :(得分:3)

来自Intro to R

  

请注意,R CMD本身并不使用任何R启动文件(in   特别是用户和站点Renviron文件)

我认为这意味着BATCH模式不会读取.Profile文件。如果您需要,我猜您需要在source明确test-job.r