Impact Factorを比べる
ImpactFacotrの推移を可視化する
論文をどこに投稿するか
論文をLetterで出すことを検討している
読者層やその雑誌の特徴 (生態学より・農学よりなど) を考慮するが
ImpactFactorもやっぱり気になる
ImpactFactor (IF) とは
Thomson Reuters社が公表している論文誌の引用されやすさの指標のようなもの
高IF誌に乗った論文は、読んでくれる人が多い傾向にある
「IFが高ければいいってもんじゃない」という意見も多い
「高IF誌に載っている論文 ⇒ 内容が良い」は偽だが
「内容が良い論文 ⇒ 高IF誌に載っている」は真な気がする
ImpactFactorの推移
IFは毎年更新される
あまり意味はないが、どうせなら右肩上がりの論文誌を狙いたいような気がする
なので、IFの推移を可視化した
データの取得
今回のletterはPlant Science分野のもの
Journal Citation Reports (JCR)にアクセスし、Plant Science分野の論文のIF一覧を取得する
ここは手作業でぽちぽちした
setwd("~/GitHub/BeeLabR/Entertainment/ImpactFactor/PlantScience/")
dir()
## [1] "2001_PlantScience.txt" "2002_PlantScience.txt"
## [3] "2003_PlantScience.txt" "2004_PlantScience.txt"
## [5] "2005_PlantScience.txt" "2006_PlantScience.txt"
## [7] "2007_PlantScience.txt" "2008_PlantScience.txt"
## [9] "2009_PlantScience.txt" "2010_PlantScience.txt"
## [11] "2011_PlantScience.txt" "2012_PlantScience.txt"
## [13] "2013_PlantScience.txt" "2014_PlantScience.txt"
出力の都合で年ごとにログを蓄積
setwd("~/GitHub/BeeLabR/Entertainment/ImpactFactor/PlantScience/")
IFdata <-
lapply(dir(), function(IF_txt){
df <-
IF_txt %>%
read.csv2(skip = 1, sep = ";", row.names = NULL, stringsAsFactors = F) %>%
{set_names(., c(colnames(.)[-1], "remove"))}
# 途中で形式が変わっているので処理を分ける
if(dim(df)[2] < 9){
df %>%
transmute(Journal = Abbreviated.Journal.Title,
ImpactFactor = as.numeric(Impact.Factor),
Year = tidyr::extract_numeric(IF_txt)) %>%
return
} else {
df %>%
transmute(Journal = Abbreviated.Journal.Title,
ImpactFactor = as.numeric(Impact.Factor),
EigenFactor = as.numeric(Eigenfactor.Score),
ArticleInfluenceScore = as.numeric(Article.Influence.Score),
Year = tidyr::extract_numeric(IF_txt)) %>%
return
}
}) %>%
rbind_all
# 著作権などが怖いので、一応雑誌名を隠す
anonymous <- function(x){
(x == unique(IFdata$Journal)) %>%
which %>%
sprintf("%03.0f", .) %>%
as.character %>%
paste0("ID", .)
}
IFdata %<>%
mutate(Journal = Vectorize(anonymous)(Journal))
データを以下のような感じに整形
JCRがフリーアクセスではないので雑誌名だけ伏せて匿名化
EigenFactorとArticleInfluenceScoreも雑誌の指標で比較的最近導入されたもの
IFdata %>%
head(20) %>%
kable
Journal | ImpactFactor | Year | EigenFactor | ArticleInfluenceScore |
---|---|---|---|---|
ID001 | 0.237 | 2001 | NA | NA |
ID002 | 0.068 | 2001 | NA | NA |
ID003 | 0.284 | 2001 | NA | NA |
ID004 | 0.232 | 2001 | NA | NA |
ID005 | 0.235 | 2001 | NA | NA |
ID006 | 2.513 | 2001 | NA | NA |
ID007 | 0.214 | 2001 | NA | NA |
ID008 | 2.463 | 2001 | NA | NA |
ID009 | 0.441 | 2001 | NA | NA |
ID010 | 1.352 | 2001 | NA | NA |
ID011 | 2.787 | 2001 | NA | NA |
ID012 | 3.902 | 2001 | NA | NA |
ID013 | 17.372 | 2001 | NA | NA |
ID014 | 1.361 | 2001 | NA | NA |
ID015 | 0.671 | 2001 | NA | NA |
ID016 | 1.562 | 2001 | NA | NA |
ID017 | 1.237 | 2001 | NA | NA |
ID018 | 0.495 | 2001 | NA | NA |
ID019 | 0.052 | 2001 | NA | NA |
ID020 | 0.130 | 2001 | NA | NA |
JCRへ登録されている雑誌数の推移
右肩上がり
# 雑誌数
IFdata$Year %>%
table %>%
data.frame %>%
select_(Year = ".", Number = "Freq") %>%
ggplot(aes(x = Year, y = Number, group = 1)) +
geom_line()
IFのヒストグラム
そのままだとポアソン分布っぽい (整数データではないので不適切)?
# IFの分布
IFdata %>%
filter(Year == 2014) %>%
ggplot(aes(x = ImpactFactor, y = ..density..)) +
geom_density(fill = "pink", col = "red") +
geom_histogram(col = "grey", alpha = .75)
対数化すると正規分布っぽい?
IFdata %>%
filter(Year == 2014) %>%
ggplot(aes(x = ImpactFactor, y = ..density..)) +
geom_density(fill = "pink", col = "red") +
geom_histogram(col = "grey", alpha = .75) +
scale_x_log10()
雑誌ごとに推移を表示
IFdata %>%
ggplot(aes(x = Year, y = ImpactFactor, group = Journal, col = Journal)) +
geom_line() +
geom_point() +
guides(col = F)
みづらいのでIF > 1
で範囲を絞る
IFdata %>%
filter(ImpactFactor > 1) %>%
ggplot(aes(x = Year, y = ImpactFactor, group = Journal, col = Journal)) +
geom_line() +
geom_point() +
guides(col = F)
みづらかった
{googleVis}で推移を表示
googleVis
パッケージを使うといい感じに可視化できる
IFdata %>%
select(-ArticleInfluenceScore) %>%
googleVis::gvisMotionChart(., idvar="Journal", timevar="Year") %>%
plot
ただ、Jekyllに載せる技術はなかったのでスクリーンショットのみ
このページ にあるようなインタラクティブな可視化が簡単にできる
全体の傾向を掴みたい
なんとなくIFが徐々に高くなっているような気がする
階層モデルで解析してみるパートに続きたい
参考ページ
CRAN.R-project.org
Journal Citation Reports
session_info()
## setting value
## version R version 3.2.3 (2015-12-10)
## system x86_64, darwin14.5.0
## ui X11
## language (EN)
## collate en_US.UTF-8
## tz Asia/Tokyo
## date 2016-03-05
##
## package * version date source
## agricolae * 1.2-3 2015-10-06 CRAN (R 3.1.3)
## AlgDesign 1.1-7.3 2014-10-15 CRAN (R 3.1.2)
## assertthat 0.1 2013-12-06 CRAN (R 3.1.0)
## bitops * 1.0-6 2013-08-17 CRAN (R 3.1.0)
## boot 1.3-17 2015-06-29 CRAN (R 3.2.3)
## chron 2.3-47 2015-06-24 CRAN (R 3.1.3)
## cluster 2.0.3 2015-07-21 CRAN (R 3.2.3)
## coda 0.18-1 2015-10-16 CRAN (R 3.1.3)
## codetools 0.2-14 2015-07-15 CRAN (R 3.2.3)
## colorspace 1.2-6 2015-03-11 CRAN (R 3.1.3)
## combinat 0.0-8 2012-10-29 CRAN (R 3.1.0)
## data.table * 1.9.6 2015-09-19 CRAN (R 3.1.3)
## DBI 0.3.1 2014-09-24 CRAN (R 3.1.1)
## deldir 0.1-9 2015-03-09 CRAN (R 3.1.3)
## devtools * 1.9.1 2015-09-11 CRAN (R 3.2.0)
## digest 0.6.8 2014-12-31 CRAN (R 3.1.2)
## doParallel 1.0.10 2015-10-14 CRAN (R 3.1.3)
## doRNG 1.6 2014-03-07 CRAN (R 3.1.2)
## dplyr * 0.4.3 2015-09-01 CRAN (R 3.1.3)
## evaluate 0.8 2015-09-18 CRAN (R 3.1.3)
## foreach * 1.4.3 2015-10-13 CRAN (R 3.1.3)
## formatR 1.2.1 2015-09-18 CRAN (R 3.1.3)
## ggplot2 * 2.0.0 2015-12-18 CRAN (R 3.2.3)
## gridExtra * 2.0.0 2015-07-14 CRAN (R 3.1.3)
## gtable * 0.1.2 2012-12-05 CRAN (R 3.1.0)
## highr 0.5.1 2015-09-18 CRAN (R 3.1.3)
## httr 1.0.0 2015-06-25 CRAN (R 3.1.3)
## iterators 1.0.8 2015-10-13 CRAN (R 3.1.3)
## jsonlite 0.9.19 2015-11-28 CRAN (R 3.1.3)
## klaR 0.6-12 2014-08-06 CRAN (R 3.1.1)
## knitr * 1.11 2015-08-14 CRAN (R 3.2.3)
## labeling 0.3 2014-08-23 CRAN (R 3.1.1)
## lattice 0.20-33 2015-07-14 CRAN (R 3.2.3)
## lazyeval 0.1.10 2015-01-02 CRAN (R 3.1.2)
## LearnBayes 2.15 2014-05-29 CRAN (R 3.1.0)
## lubridate * 1.5.0 2015-12-03 CRAN (R 3.2.3)
## magrittr * 1.5 2014-11-22 CRAN (R 3.1.2)
## MASS * 7.3-45 2015-11-10 CRAN (R 3.2.3)
## Matrix 1.2-3 2015-11-28 CRAN (R 3.2.3)
## memoise 0.2.1 2014-04-22 CRAN (R 3.1.0)
## munsell 0.4.2 2013-07-11 CRAN (R 3.1.0)
## nlme 3.1-122 2015-08-19 CRAN (R 3.2.3)
## pforeach * 1.3 2015-12-21 Github (hoxo-m/pforeach@2c44f3b)
## pkgmaker 0.22 2014-05-14 CRAN (R 3.1.3)
## plyr * 1.8.3 2015-06-12 CRAN (R 3.1.3)
## R6 2.1.1 2015-08-19 CRAN (R 3.1.3)
## RColorBrewer * 1.1-2 2014-12-07 CRAN (R 3.1.2)
## Rcpp 0.12.2 2015-11-15 CRAN (R 3.1.3)
## RCurl * 1.95-4.7 2015-06-30 CRAN (R 3.1.3)
## registry 0.3 2015-07-08 CRAN (R 3.1.3)
## reshape2 * 1.4.1 2014-12-06 CRAN (R 3.1.2)
## rJava * 0.9-7 2015-07-29 CRAN (R 3.1.3)
## rngtools 1.2.4 2014-03-06 CRAN (R 3.1.2)
## scales * 0.3.0 2015-08-25 CRAN (R 3.1.3)
## slackr * 1.3.1.9001 2015-12-07 Github (hrbrmstr/slackr@27f777e)
## sp 1.2-1 2015-10-18 CRAN (R 3.2.3)
## spdep 0.5-92 2015-12-22 CRAN (R 3.2.3)
## stringi 1.0-1 2015-10-22 CRAN (R 3.1.3)
## stringr * 1.0.0 2015-04-30 CRAN (R 3.1.3)
## tidyr * 0.3.1 2015-09-10 CRAN (R 3.2.0)
## xlsx * 0.5.7 2014-08-02 CRAN (R 3.1.1)
## xlsxjars * 0.6.1 2014-08-22 CRAN (R 3.1.1)
## xtable 1.8-0 2015-11-02 CRAN (R 3.1.3)