首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >R可用包的名称

R可用包的名称
EN

Stack Overflow用户
提问于 2011-09-12 07:14:20
回答 4查看 9.6K关注 0票数 19

我很想知道,

  • CRAN上有多少软件包名称有两个、三个、N个尚未使用的characters?
  • which组合?许多软件包名称使用全大写或camelCase?
  • 有多少软件包名称以2结尾?

我认为这可能会揭示一些有趣的事实。

编辑:显示CRAN包随时间演变的动画图形的加分。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-12 17:45:15

比起抓取网页来获取包的名称,一种更好的方法是使用available.packages()函数并处理这些结果。available.packages()返回一个矩阵,其中包含所有可用包的详细信息(但默认情况下会进行过滤-有关更多信息,请参阅?available.packages的详细信息部分)。

代码语言:javascript
复制
pkgs <- available.packages(filters = "duplicates")
nameCount <- unname(nchar(pkgs[, "Package"]))
table(nameCount)

> table(nameCount)
nameCount
  2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21 
 32 311 374 360 434 445 368 277 199 132  99  56  56  43  22  19  18   2  12   8 
 22  24  25  31 
  5   2   1   1

使用nameCount,我们可以选择名称包含任意数量字符的包,而不需要求助于regexp等:

代码语言:javascript
复制
> unname(pkgs[which(nameCount == 2), "Package"])
 [1] "BB" "bs" "ca" "cg" "dr" "ez" "FD" "ff" "HH" "HI" "iv" "JM" "ks" "M3" "mi"
[16] "np" "oc" "oz" "PK" "PP" "qp" "QT" "RC" "rv" "Rz" "sm" "sn" "sp" "st" "SV"
[31] "tm" "wq"
票数 14
EN

Stack Overflow用户

发布于 2011-09-12 17:45:53

这里有一个基于各种建议的建议。

代码语言:javascript
复制
 packages <- available.packages()[,'Package']

 ggplot(data.frame(n = nchar(packages))) +
   geom_histogram(aes(n), binwidth=1)     

代码语言:javascript
复制
 all <- length(packages)
 ## 3168
 up <- sum(toupper(packages) == packages)
 ## 262
 low <- sum(tolower(packages) == packages)
 ## 1697
 pie(c(up, low, all-up-low), labels=c("UPPERCASE","lowercase","cAmElCaSe"))

代码语言:javascript
复制
 let <- sapply(sapply(letters, grep, tolower(packages)), length)
 barplot(let)

代码语言:javascript
复制
 length(packages[grep("2$", packages, perl=TRUE)])
 # 29
票数 10
EN

Stack Overflow用户

发布于 2011-09-12 07:43:22

下面是回答一些问题的一小段代码。当我有时间的时候,我会继续补充我的答案。

代码语言:javascript
复制
library(XML); library(ggplot2);

url = 'http://cran.r-project.org/web/packages/available_packages_by_name.html'
packages = readHTMLTable(url, stringsAsFactors = F)[[1]][-1,]

# histogram of number of characters in package name
qplot(nchar(V1), data = packages)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7381932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档