在《一个要复活的R包和一个404的网站》一文中第一次介绍了scholar包,它可以应用于《自动抓取论文的引用数据》,虽然数据源来自于Google Scholar,国内用户可能访问不了,但今天要介绍的这个功能,所有人都是可以用的,它允许我们检索期刊的影响因子,在《scholar包支持检索期刊影响因子》一文中第一次介绍了这个功能,当时是2016年的影响因子(2017年发布),现在数据已经更新至2018年6月26号发布的2017年影响因子。

> library(scholar)
> jn = c("bioinformatics", "methods in ecology and evolution",
+     "molecular biosystems", "molecular biology and evolution")
> get_impactfactor(jn)
# A tibble: 4 x 4
  Journal                          Cites ImpactFactor Eigenfactor
  <chr>                            <dbl>        <dbl>       <dbl>
1 BIOINFORMATICS                   95300         5.48      0.201
2 Methods in Ecology and Evolution  8866         6.36      0.0370
3 Molecular BioSystems              7269         2.76      0.0175
4 MOLECULAR BIOLOGY AND EVOLUTION  44664        10.2       0.102

Bioinformatics又掉回了5分多,而MBE因为MEGA7的发表,从6分多一下子涨到了10分!MEGA神话依然坚挺!!!

到底生信的期刊影响因子是怎样子的?我们可以很容易检索到名字含有bioinformatics的期刊,然后就可以检索影响因子了,最高分竟然是国内的GPB!!!

> jn <- agrep("bioinformatics", scholar:::impactfactor$Journal, ignore.case=T, value=T, max.distance=0.05)
> jn
 [1] "GENOMICS PROTEOMICS & BIOINFORMATICS"
 [2] "BRIEFINGS IN BIOINFORMATICS"
 [3] "BIOINFORMATICS"
 [4] "IEEE-ACM Transactions on Computational Biology and Bioinformatics"
 [5] "PROTEINS-STRUCTURE FUNCTION AND BIOINFORMATICS"
 [6] "BMC BIOINFORMATICS"
 [7] "Evolutionary Bioinformatics"
 [8] "Journal of Bioinformatics and Computational Biology"
 [9] "International Journal of Data Mining and Bioinformatics"
[10] "Current Bioinformatics"
> get_impactfactor(jn)
# A tibble: 10 x 4
   Journal                                       Cites ImpactFactor Eigenfactor
   <chr>                                         <dbl>        <dbl>       <dbl>
 1 GENOMICS PROTEOMICS & BIOINFORMATICS           1225        6.62     0.00348
 2 BRIEFINGS IN BIOINFORMATICS                    4731        6.30     0.0150
 3 BIOINFORMATICS                                95300        5.48     0.201
 4 IEEE-ACM Transactions on Computational Biolo…  2296        2.43     0.00641
 5 PROTEINS-STRUCTURE FUNCTION AND BIOINFORMATI… 15764        2.27     0.0146
 6 BMC BIOINFORMATICS                            27623        2.21     0.0501
 7 Evolutionary Bioinformatics                    1130        1.88     0.00148
 8 Journal of Bioinformatics and Computational …   723        0.991    0.00112
 9 International Journal of Data Mining and Bio…   248        0.652    0.000300
10 Current Bioinformatics                          304        0.54     0.00063

正如我在《自动抓取论文的引用数据》一文中所说的,我的简历中的引用数据是自动抓取并生成的,事实上我简历中相应期刊的影响因子也是自动加上去的。脚本化好处多多,比如你一条指令可以把一个人所有的publications给抓下来,那么现在你可以一条指令把所有期刊的影响因子给列出来,一个人发表的论文总影响因子、篇均影响因子等指标,不就是个求sum和mean的指令而已么!

再来一点实战,抓取我的profile,选取我要的信息,再追加期刊的影响因子,过滤出我做为第一作者的文章:

> require(scholar)
> require(dpylr)
> x = get_publications("DO5oG40AAAAJ")
> y = x %>% select(year, author, journal, title) %>% 
+ mutate(impactFactor = get_impactfactor(journal)$ImpactFactor) %>% 
+ filter(grepl("^G Yu", author)) %>% group_by(year)
> y
# A tibble: 12 x 5
# Groups:   year [7]
    year author             journal      title                     impactFactor
   <dbl> <fct>              <fct>        <fct>                            <dbl>
 1  2012 G Yu, LG Wang, Y … Omics: a jo… clusterProfiler: an R pa…         2.37
 2  2010 G Yu, F Li, Y Qin… Bioinformat… GOSemSim: an R package f…         5.48
 3  2015 G Yu, LG Wang, QY… Bioinformat… ChIPseeker: an R/Biocond…         5.48
 4  2017 G Yu, DK Smith, H… Methods in … ggtree: an R package for…         6.36
 5  2015 G Yu, LG Wang, GR… Bioinformat… DOSE: an R/Bioconductor …         5.48
 6  2016 G Yu, QY He        Molecular B… ReactomePA: an R/Biocond…         2.76
 7  2011 G Yu, CL Xiao, X … Journal of … A new method for measuri…        NA
 8  2011 G Yu, QY He        Journal of … Functional similarity an…        NA
 9  2011 G Yu, CL Xiao, CH… Molecular B… Phosphoproteome profile …         2.76
10  2012 G Yu, LG Wang, XH… BMC researc… LXtoo: an integrated liv…        NA
11  2018 G Yu               Bioinformat… Using meshes for MeSH te…         5.48
12  2018 G Yu               bioRxiv      clusterProfiler: univers…        NA

那么我就可以轻松地计算出我每一年发表的第一作者的文章的总影响因子数和平均影响因子数,2015年发了两篇Bioinformatics(其实有一篇应该是2014的,但因为审稿和排队等发表拖慢了),其他时间都是一年一篇文章,所以总数和平均数都一样,2013和2014没有发文章,其实2013有两篇共同第一,但因为排名第二,在我的过滤中被滤掉了。

> y %>% summarize(total_IF = sum(impactFactor, na.rm=T), 
+ mean_IF = mean(impactFactor, na.rm=T)) 
# A tibble: 7 x 3
   year total_IF mean_IF
  <dbl>    <dbl>   <dbl>
1  2010     5.48    5.48
2  2011     2.76    2.76
3  2012     2.37    2.37
4  2015    11.0     5.48
5  2016     2.76    2.76
6  2017     6.36    6.36
7  2018     5.48    5.48