网络可视化与 R 语言

引言

网络可视化与 R 语言

网站终于测试完了,新建一个 PR 用于此篇博文,预览在哪里,预览在这里!!

开发者贡献关系网络

安装 R 包

if( ! "geomnet" %in% list.files(.libPaths()) ) install.packages("geomnet")

加载绘图的 R 包

library(magrittr)
library(scales)
library(ggplot2)
library(geomnet)

数据获取和描述

下载数据

pdb <- tools::CRAN_package_db()

查看数据集 pdb 的大小

dim(pdb)
#> [1] 13505    65

每个 R 包都有一个 DESCRIPTION 文件,顾名思义,即描述说明 R 包内容的文件,举例如 tools

packageDescription('tools')
#> Package: tools
#> Version: 3.5.1
#> Priority: base
#> Title: Tools for Package Development
#> Author: R Core Team
#> Maintainer: R Core Team <R-core@r-project.org>
#> Description: Tools for package development, administration and
#>        documentation.
#> License: Part of R 3.5.1
#> Suggests: codetools, methods, xml2, curl
#> NeedsCompilation: yes
#> Built: R 3.5.1; x86_64-pc-linux-gnu; 2018-07-26 17:41:08 UTC; unix
#> 
#> -- File: /home/travis/R-bin/lib/R/library/tools/Meta/package.rds

目前,发布在 CRAN 上的R包共有13505 个,都是最新版本,我们先看看R包的发布日期

summary(as.Date(pdb$Published))
#>         Min.      1st Qu.       Median         Mean      3rd Qu. 
#> "2005-10-29" "2016-03-24" "2017-10-19" "2017-02-12" "2018-07-03" 
#>         Max. 
#> "2018-12-03"
summary(as.Date(pdb$Packaged))
#>         Min.      1st Qu.       Median         Mean      3rd Qu. 
#> "2009-04-28" "2016-03-29" "2017-10-21" "2017-02-19" "2018-07-03" 
#>         Max.         NA's 
#> "2018-12-03"         "48"
summary(as.Date(pdb$Date))
#>         Min.      1st Qu.       Median         Mean      3rd Qu. 
#>    "4-12-20" "2015-08-09" "2017-05-23" "2015-11-08" "2018-05-22" 
#>         Max.         NA's 
#> "2019-09-15"       "4311"

Published、Packaged、Date三个日期,分别表示发布日期、打包日期,竟然还有10多年不更新的,该 R 包是 vioplot

再来看看总体情况,R包发布数量随日期的分布

ggplot(pdb[,c("Package","Published")], aes( as.Date(Published) ) ) +
  geom_bar(color = 'firebrick') + 
  geom_line(data = data.frame( date = as.Date( c("2011-01-01","2012-10-20") ),
                               count = c(130,155)), aes(x = date , y = count),
            arrow = arrow(angle = 15, length = unit(0.15, "inches"))) +
  annotate("text", x = as.Date("2010-11-01"), y = 128, label = "(2012-10-29,172)") +
  scale_x_date(date_breaks = "1 year",date_labels = "%Y") +
  labs(x = "Published Date" ,y = "Count" ) +
  theme_minimal()
有趣的是在2012年10月29日更新的R包多达172个

Figure 1: 有趣的是在2012年10月29日更新的R包多达172个

约定 Maintainer 字段为 R 包开发者,创建者和维护者,是同一人,所以下面不再区分,而 Author和Authors@R 字段可能包含开发者,也可能缺失,或者是其他参与此R包开发的贡献者。

软件信息

devtools::session_info()
#> ─ Session info ──────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 3.5.1 (2017-01-27)
#>  os       Ubuntu 14.04.5 LTS          
#>  system   x86_64, linux-gnu           
#>  ui       X11                         
#>  language (EN)                        
#>  collate  en_US.UTF-8                 
#>  ctype    en_US.UTF-8                 
#>  tz       UTC                         
#>  date     2018-12-03                  
#> 
#> ─ Packages ──────────────────────────────────────────────────────────────
#>  package        * version  date       lib source        
#>  assertthat       0.2.0    2017-04-11 [1] CRAN (R 3.5.1)
#>  backports        1.1.2    2017-12-13 [1] CRAN (R 3.5.1)
#>  base64enc        0.1-3    2015-07-28 [1] CRAN (R 3.5.1)
#>  bindr            0.1.1    2018-03-13 [1] CRAN (R 3.5.1)
#>  bindrcpp         0.2.2    2018-03-29 [1] CRAN (R 3.5.1)
#>  blogdown         0.9      2018-10-23 [1] CRAN (R 3.5.1)
#>  bookdown         0.7      2018-02-18 [1] CRAN (R 3.5.1)
#>  callr            3.0.0    2018-08-24 [1] CRAN (R 3.5.1)
#>  cli              1.0.1    2018-09-25 [1] CRAN (R 3.5.1)
#>  coda             0.19-2   2018-10-08 [1] CRAN (R 3.5.1)
#>  colorspace       1.3-2    2016-12-14 [1] CRAN (R 3.5.1)
#>  crayon           1.3.4    2017-09-16 [1] CRAN (R 3.5.1)
#>  data.table       1.11.8   2018-09-30 [1] CRAN (R 3.5.1)
#>  desc             1.2.0    2018-05-01 [1] CRAN (R 3.5.1)
#>  devtools         2.0.1    2018-10-26 [1] CRAN (R 3.5.1)
#>  digest           0.6.18   2018-10-10 [1] CRAN (R 3.5.1)
#>  dplyr            0.7.8    2018-11-10 [1] CRAN (R 3.5.1)
#>  evaluate         0.12     2018-10-09 [1] CRAN (R 3.5.1)
#>  fs               1.2.6    2018-08-23 [1] CRAN (R 3.5.1)
#>  geomnet        * 0.2.0    2016-12-08 [1] CRAN (R 3.5.1)
#>  ggplot2        * 3.1.0    2018-10-25 [1] CRAN (R 3.5.1)
#>  glue             1.3.0    2018-07-17 [1] CRAN (R 3.5.1)
#>  gtable           0.2.0    2016-02-26 [1] CRAN (R 3.5.1)
#>  highr            0.7      2018-06-09 [1] CRAN (R 3.5.1)
#>  hms              0.4.2    2018-03-10 [1] CRAN (R 3.5.1)
#>  htmltools        0.3.6    2017-04-28 [1] CRAN (R 3.5.1)
#>  htmlwidgets      1.3      2018-09-30 [1] CRAN (R 3.5.1)
#>  httr             1.3.1    2017-08-20 [1] CRAN (R 3.5.1)
#>  jsonlite         1.5      2017-06-01 [1] CRAN (R 3.5.1)
#>  knitr            1.20     2018-02-20 [1] CRAN (R 3.5.1)
#>  labeling         0.3      2014-08-23 [1] CRAN (R 3.5.1)
#>  lattice          0.20-35  2017-03-25 [3] CRAN (R 3.5.1)
#>  lazyeval         0.2.1    2017-10-29 [1] CRAN (R 3.5.1)
#>  magrittr       * 1.5      2014-11-22 [1] CRAN (R 3.5.1)
#>  memoise          1.1.0    2017-04-21 [1] CRAN (R 3.5.1)
#>  munsell          0.5.0    2018-06-12 [1] CRAN (R 3.5.1)
#>  network          1.13.0.1 2018-04-02 [1] CRAN (R 3.5.1)
#>  pillar           1.3.0    2018-07-14 [1] CRAN (R 3.5.1)
#>  pkgbuild         1.0.2    2018-10-16 [1] CRAN (R 3.5.1)
#>  pkgconfig        2.0.2    2018-08-16 [1] CRAN (R 3.5.1)
#>  pkgload          1.0.2    2018-10-29 [1] CRAN (R 3.5.1)
#>  plotly           4.8.0    2018-07-20 [1] CRAN (R 3.5.1)
#>  plyr             1.8.4    2016-06-08 [1] CRAN (R 3.5.1)
#>  prettyunits      1.0.2    2015-07-13 [1] CRAN (R 3.5.1)
#>  processx         3.2.0    2018-08-16 [1] CRAN (R 3.5.1)
#>  ps               1.2.1    2018-11-06 [1] CRAN (R 3.5.1)
#>  purrr            0.2.5    2018-05-29 [1] CRAN (R 3.5.1)
#>  R6               2.3.0    2018-10-04 [1] CRAN (R 3.5.1)
#>  Rcpp             1.0.0    2018-11-07 [1] CRAN (R 3.5.1)
#>  readr            1.2.1    2018-11-22 [1] CRAN (R 3.5.1)
#>  remotes          2.0.2    2018-10-30 [1] CRAN (R 3.5.1)
#>  rlang            0.3.0.1  2018-10-25 [1] CRAN (R 3.5.1)
#>  rmarkdown        1.10     2018-06-11 [1] CRAN (R 3.5.1)
#>  rprojroot        1.3-2    2018-01-03 [1] CRAN (R 3.5.1)
#>  scales         * 1.0.0    2018-08-09 [1] CRAN (R 3.5.1)
#>  sessioninfo      1.1.1    2018-11-05 [1] CRAN (R 3.5.1)
#>  sna              2.4      2016-08-08 [1] CRAN (R 3.5.1)
#>  statnet.common   4.1.4    2018-06-22 [1] CRAN (R 3.5.1)
#>  stringi          1.2.4    2018-07-20 [1] CRAN (R 3.5.1)
#>  stringr          1.3.1    2018-05-10 [1] CRAN (R 3.5.1)
#>  tibble           1.4.2    2018-01-22 [1] CRAN (R 3.5.1)
#>  tidyr            0.8.2    2018-10-28 [1] CRAN (R 3.5.1)
#>  tidyselect       0.2.5    2018-10-11 [1] CRAN (R 3.5.1)
#>  usethis          1.4.0    2018-08-14 [1] CRAN (R 3.5.1)
#>  viridisLite      0.3.0    2018-02-01 [1] CRAN (R 3.5.1)
#>  withr            2.1.2    2018-03-15 [1] CRAN (R 3.5.1)
#>  xfun             0.4      2018-10-23 [1] CRAN (R 3.5.1)
#>  yaml             2.2.0    2018-07-25 [1] CRAN (R 3.5.1)
#> 
#> [1] /home/travis/R/Library
#> [2] /usr/local/lib/R/site-library
#> [3] /home/travis/R-bin/lib/R/library

相关

comments powered by Disqus