R,查找已安装的包
R, finding installed packages
我已经使用 installed.packages()
查看 R 中已安装的包。我想使用 installed.packages()[c("Package","Version")]
从输出中提取两列 "Packages" 和 "Version" 但是它没有显示我的期望。但是,如果我在 "Package" 之前放一个“,”(installed.packages()[,c("Package","Version")])
就可以了!为什么语句中必须有一个“,”?
installed.packages()
的内容有列和行,在子集[a, b]
中,a
是行,b
是列。您正在请求名为 'package' 和 'version' 的列,因此您需要告诉它查看这些名称的列。
更多指导在这里:http://statmethods.net/management/subset.html and http://adv-r.had.co.nz/Subsetting.html。
您需要 ? 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 允许您可能更熟悉的各种其他形式的 indexing/extraction:
> 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 ...
为了将来的参考,如果您想知道哪个 GitHub 提交用于 GitHub 包:
install.packages("devtools")
library("devtools")
package_info("<package_name>")
我已经使用 installed.packages()
查看 R 中已安装的包。我想使用 installed.packages()[c("Package","Version")]
从输出中提取两列 "Packages" 和 "Version" 但是它没有显示我的期望。但是,如果我在 "Package" 之前放一个“,”(installed.packages()[,c("Package","Version")])
就可以了!为什么语句中必须有一个“,”?
installed.packages()
的内容有列和行,在子集[a, b]
中,a
是行,b
是列。您正在请求名为 'package' 和 'version' 的列,因此您需要告诉它查看这些名称的列。
更多指导在这里:http://statmethods.net/management/subset.html and http://adv-r.had.co.nz/Subsetting.html。
您需要 ? 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 允许您可能更熟悉的各种其他形式的 indexing/extraction:
> 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 ...
为了将来的参考,如果您想知道哪个 GitHub 提交用于 GitHub 包:
install.packages("devtools")
library("devtools")
package_info("<package_name>")