代码之家  ›  专栏  ›  技术社区  ›  Dan

在ubuntu 8.10上安装R包

r
  •  2
  • Dan  · 技术社区  · 15 年前

    我已经用synaptic安装了R,现在我正在尝试安装软件包。

    install.packages("some_package")
    

    系统尝试默认为 /site-library ,然后告诉我它是不可写的,然后问关于建立个人图书馆?

    我应该让网站库可写吗?或者还有别的事吗?

    4 回复  |  直到 10 年前
        1
  •  3
  •   Community Nick Dandoulakis    7 年前

    目录 /usr/share/local/lib/R 是默认位置;目录具有所有权 root:staff 默认情况下。如果你加入小组 staff (最简单:通过编辑 /etc/group /etc/gshadow )你可以写在那里,你不需要 sudo

    或者,做 apt-get install littler 并复制示例文件 /usr/share/doc/littler/examples/install.r /usr/local/bin chmod 755 信息技术你能做的就是 sudo install.r lattice ggplot2

    顺便说一句,Ubuntu 8.1没有作为一个版本存在。也许你是说8.10?考虑升级到9.10…

    编辑: 还可以看看 this recent SO question

        2
  •  1
  •   Jawa user2675589    11 年前

    我也面临同样的问题。最方便的方法是启动R作为超级用户。

    sudo R
    

    之后, install.packages("some package")

        3
  •  0
  •   Jyotirmoy Bhattacharya    15 年前

    如果您是唯一需要这些包的用户,那么最简单、最整洁的方法就是让R为您创建一个个人库。这样,您就不需要处理由包管理系统管理的系统目录。

    另一种安装方法 一些 Ubuntu中的包是寻找名称如下的Ubuntu包 r-cran-* . 这样您就不必担心依赖性,所有用户都可以使用包,并且更新由Ubuntu包管理系统负责。但是只有一小部分的CRAN软件包可以通过这种方式使用,而且您可能无法获得最新版本。

        4
  •  0
  •   aL3xa    15 年前

    嗯,我更喜欢把软件包安装到本地的R文件夹中 ~/R/

    所以保持最新,把这一行添加到文件中 /etc/apt/sources.list (替换 <text> 使用CRAN server address,您可以在 www.r-project.org

    deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu karmic/

    然后在终点站走这条线:

    gpg --keyserver subkeys.pgp.net --recv-key E2A11821 && gpg -a --export E2A11821 | sudo apt-key add -

    如果正确导入了密钥,请运行:

    sudo apt-get install r-base-core

    或者,如果已经安装了R,请运行:

    sudo apt-get update && sudo apt-get upgrade

    你还应该检查 alias man alias 在终端)自动化重复的任务。。。在终端上感觉很舒服,Synaptic确实是一个很好的工具,但是大多数Linux用户更喜欢命令行方法有一个很好的理由-它是高度可定制的=)

    我建议你只使用一台服务器(在选择默认服务器时请注意-我更喜欢UCLA的服务器,Berkeley工作得很好,主服务器通常非常忙。。。所以…)

    或者,您可以将默认CRAN服务器添加到.First()函数:

    # replace '<server address>'
    
    .First() <- function() {
    options("repos" = c(CRAN = "<my.favorite.cran.mirror>"))
    }
    

    现在您只需键入:

    > install.packages('<somepackage>')

    你会输的 这个 无聊的Tcl/Tk服务器列表窗口!哦,真是松了一口气!


    干杯,伙计!