R/readme.md

发现一个现象

存在 R 包名字完全一样的情况 共有 15个重复的 R 包

dat1 <- readRDS(file = 'data/2018-01-31.RDS')
dat2 <- readRDS(file = 'data/2018-02-01.RDS')
# 下面不一致
dat1$Package %>% unique() %>% length()
dim(dat1)[1]
dat2$Package %>% unique() %>% length()
dim(dat2)[1]

# 哪些R包是重复的  
## 结论:就是推荐级别的 15个 R包信息重复,这应该是 tools::CRAN_package_db() 的 BUG

# 此 docker 内 
## R.home('library') 存放 base R 包
## R.home('site-library') 存放推荐的和其他 R 包

Pkgs <- sapply(list.files(.libPaths()), function(x)
  packageDescription(pkg = x,fields = "Priority"))

names(Pkgs[Pkgs == 'recommended' & !is.na(Pkgs)]) 
names(Pkgs[Pkgs == 'base' & !is.na(Pkgs)]) # 这些base R 包是不在 CRAN 上的

## 如下 15 个 R 包 属于推荐级别的
sort(table(dat1$Package), decreasing = TRUE) %>% head(20)

# 再看 dat2 以验证刚才想法
sort(table(dat2$Package), decreasing = TRUE) %>% head(20)

# tools::CRAN_package_db 函数内部如下

function () 
  as.data.frame(read_CRAN_object(CRAN_baseurl_for_web_area(), "web/packages/packages.rds"), 
                stringsAsFactors = FALSE)
options("repos") # 此 BUG 与 repos 无关,repos 只是同步


XiangyunHuang/PkgsInfo documentation built on May 23, 2019, 1:26 p.m.