【问题标题】:R, finding installed packagesR,查找已安装的软件包
【发布时间】:2016-01-12 14:45:16
【问题描述】:

我使用installed.packages() 查看 R 中已安装的软件包。我想使用 installed.packages()[c("Package","Version")] 从输出中提取两列“软件包”和“版本”,但它没有显示我的预期。但是如果我在“Package”之前加上一个“,”(installed.packages()[,c("Package","Version")]) 它可以工作!为什么声明中需要一个“,”?

【问题讨论】:

    标签: r package subset


    【解决方案1】:

    installed.packages() 的内容有列和行,在子集[a, b] 中,a 是行,b 是列。您正在询问名为“package”和“version”的列,因此您需要告诉它查看这些名称的列。

    更多指导:http://statmethods.net/management/subset.htmlhttp://adv-r.had.co.nz/Subsetting.html

    【讨论】:

    • 完全不正确。 > is.data.frame(installed.packages()) [1] FALSE > is.array(installed.packages()) [1] TRUE
    【解决方案2】:

    您需要查看? Extract 以了解 R 中的索引。以下是一些关于如何理解您正在查看的对象的结构的提示:

    > class(installed.packages())
    [1] "matrix"
    > dim(installed.packages())
    [1] 173  16
    > str(installed.packages())
     chr [1:173, 1:16] "aws.s3" "aws.signature" "BH" "bit" "bit64" ...
     - attr(*, "dimnames")=List of 2
      ..$ : chr [1:173] "aws.s3" "aws.signature" "BH" "bit" ...
      ..$ : chr [1:16] "Package" "LibPath" "Version" "Priority" ...
    

    所以,这告诉我们对象是一个矩阵,有 173 行和 16 列。

    • 要从矩阵中提取,您可以使用matrix[rows, columns] 之类的符号。
    • 要获取所有行但只获取部分列,您可以将其快捷方式设为matrix[, columns]
    • 要获取除某些行之外的所有列,您可以将其快捷方式为matrix[rows,]

    您可能希望该对象是一个 data.frame。 data.frame 允许您可能更熟悉的各种其他形式的索引/提取:

    > str(mtcars["mpg"])
    'data.frame':   32 obs. of  1 variable:
     $ mpg: num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
    > str(mtcars[["mpg"]])
     num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
    > str(mtcars[, "mpg"])
     num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
    > str(mtcars$mpg)
     num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
    

    【讨论】:

      【解决方案3】:

      为了将来的参考,如果您想知道 GitHub 包使用了哪个确切的 GitHub 提交:

      install.packages("devtools")
      library("devtools")
      package_info("<package_name>")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-12
        • 2021-11-07
        • 1970-01-01
        • 2021-09-13
        • 2019-12-16
        • 2015-10-30
        • 2013-11-23
        相关资源
        最近更新 更多