安装在另一个EC2实例上后R的意外行为

时间:2014-04-29 06:54:02

标签: r ubuntu amazon-ec2 permissions environment

我第二天在一个完全不眠之夜的时候直接解决这个问题,我真的开始失去耐心和力量了。这一切都是在我决定配置另一个(付费)AWS EC2实例以便测试我的R代码进行论文数据分析之后开始的。以前我使用的是一个免费的t1.micro个实例,这个实例非常缓慢,特别是在测试/运行特定代码时。时间比亚马逊正在收费的每小时合理的分数更有价值。

因此,我配置了一个m3.large实例,我希望它应该有足够的能力来快速地处理我的数据。在EC2特定设置(包括选择Ubuntu 14.04 LTS作为操作系统和一些安全设置)之后,我通过sudo apt-get install r-base r-base-dev作为ubuntu用户按照说明安装了R和RStudio Server。我还创建了ruser作为运行R会话的特殊用户。基本上,与较小实例上的过程相同。

目前的情况是,我在R session命令行中发出的任何命令都会产生如下消息:Error: could not find function "sessionInfo"。唯一有效的功能是q()。我怀疑这是一个权限问题,但是,我不确定如何在R环境中处理与调查权限相关的问题。我也很好奇这种情况可能是什么原因,考虑到我是在关注R Project和RStudio来源的建议。

1 个答案:

答案 0 :(得分:1)

我能够确定我认为引起恐慌的地方 - 它只是一个小配置文件"/etc/R/Rprofile.site",我之前已经更新了从R专家借来的指令'在StackOverflow上发布这里的帖子。删除可疑内容后,我能够成功运行R命令。出于好奇和分享这些来之不易的知识,这里有删除的内容:

local({
  # add DISS_FLOSS_PKGS to the default packages, set a CRAN mirror
  DISS_FLOSS_PKGS <- c("RCurl", "digest", "jsonlite",
                       "stringr", "XML", "plyr")
  #old <- getOption("defaultPackages")
  r <- getOption("repos")
  r["CRAN"] <- "http://cran.us.r-project.org"
  #options(defaultPackages = c(old, DISS_FLOSS_PKGS), repos = r)
  options(defaultPackages = DISS_FLOSS_PKGS, repos = r)

  #lapply(list(DISS_FLOSS_PKGS), function() library)
  library(RCurl)
  library(digest)
  library(jsonlite)
  library(stringr)
  library(XML)
  library(plyr)
})

对此有任何意见,我们将不胜感激!