Pubmed Friend

IF show and filter for pubmed.

Author
reyear
Daily installs
0
Total installs
271
Ratings
0 1 0
Version
2024.01.16
Created
2021-12-23
Updated
2024-01-16
License
AGPL-3.0
Applies to

今天需要查查文献,顺便更新下影响因子

# Bash
curl -o EasyPubMedicine_0.1.20.zip -x i.adigger.cn:1082 https://raw.githubusercontent.com/naivenaive/EasyPubMed/master/EasyPubMedicine_0.1.20.zip
unzip EasyPubMedicine_0.1.20.zip


# Rscript
pubmed_name <- jsonlite::fromJSON('dist/data/pubmed_abb_data.json')
jcr_if <- jsonlite::fromJSON('dist/data/jcr_cas_ifqb.json')

library(dplyr)
xx = inner_join(
pubmed_name %>% select(c('abb', 'pubmed_issn')) %>% unique %>% filter('pubmed_issn' != ''),
jcr_if %>% select(c('issn', 'IF')) %>% unique %>% filter('issn' != ''),
by=c('pubmed_issn'='issn'),
relationship = "many-to-many"
) %>% select('abb', 'IF') %>% unique() %>% filter(IF!='N/A', !is.na(IF)) %>% mutate(IF=ifelse(IF=='<0.1', '0', IF)) %>% mutate(IF=as.numeric(IF))

yy = inner_join(
pubmed_name %>% select(c('abb', 'pubmed_eissn')) %>% unique %>% filter('pubmed_eissn' != ''),
jcr_if %>% select(c('eissn', 'IF')) %>% unique %>% filter('eissn' != ''),
by=c('pubmed_eissn'='eissn'),
relationship = "many-to-many"
) %>% select('abb', 'IF') %>% unique() %>% filter(IF!='N/A', !is.na(IF)) %>% mutate(IF=ifelse(IF=='<0.1', '0', IF)) %>% mutate(IF=as.numeric(IF))

xx = rbind(xx,yy) %>% unique()
xx = arrange(xx, -xx$IF)
xx = xx[!duplicated(xx$abb), ]
xx = xx %>% rename(c('name'='abb'))
jsonlite::toJSON(xx)

# get JsonStr for script