Yoshi Nishikawa's Blog

〜医学・疫学・統計学編〜

論文投稿注意書き[New submission状態の持続]

論文投稿の際に、"New submission"がずっと続いている場合、著者確認がなされていない可能性があります。
通常は"Editor assigned"や"Under review"などに変わります。

ご注意を。

公開データセット集

忘備録に。

統計、機械学習関係の教育機関サイト

DataSets < Main < Vanderbilt Biostatistics Wiki

UCI Machine Learning Repository

種々のオープンデータ

github.com

追記していきます。

Rでダイアグラムを作成する

質的研究におけるCoding Tree

library(data.tree)

theme <- Node$new("テーマ")
category1 <- theme$AddChild("あ")
code1 <- category1$AddChild("い")
code2 <- category1$AddChild("う")
category2 <- theme$AddChild("AA")
code3 <- category2$AddChild("BB")
code4 <- category2$AddChild("CC")
category3 <- theme$AddChild("aa")
code5 <- category3$AddChild("bb")
code6 <- category3$AddChild("cc")
code7 <- category3$AddChild("dd")

print(theme)

plot(theme)

以下を参考にさせていただきました。
Introduction to data.tree

f:id:yoshi_nishikawa:20180426162442p:plain

f:id:yoshi_nishikawa:20180430203600p:plain

CONSORTやSTROBEのダイアグラムを作成する

以下を参考にさせていただきました。

Danny Wong · STROBE/CONSORT Diagrams in R

f:id:yoshi_nishikawa:20180426162419p:plain

library(DiagrammeR) #DiagrammeR
library(DiagrammeRsvg) #保存用
library(rsvg) #保存用

#Set the values which will go into each label.
a1 <- 'Total available patients\n(n = N)'
b1 <- ''
c1 <- ''
d1 <- 'Included for analysis\n(n = N - x - y)'
e1 <- ''
a2 <- ''
b2 <- 'Excluded: \nexclusion criteria (n = x)'
c2 <- 'Excluded: \nmissing values (n = y)'
d2 <- ''
e2 <- ''

#Create a node dataframe
ndf <- create_node_df(
  n = 10,
  label = c(a1, b1, c1, d1, e1, #Column 1
            a2, b2, c2, d2, e2), #Column 2
  style = c('solid', 'invis', 'invis', 'solid', 'invis', #Column 1
            'invis', 'solid', 'solid', 'invis', 'invis'), #Column 2
  shape = c('box', 'point', 'point', 'box', 'box', #Column 1 
            'plaintext', 'box', 'box', 'point', 'point'), #Column 2
  width = c(3, 0.001, 0.001, 3, 3, #Column 1
            2, 2.5, 2.5, 0.001, 0.001), #Column 2
  height = c(1, 0.001, 0.001, 1, 1, #Column 1
             1, 1, 1, 0.001, 0.001), #Column 2
  fontsize = c(rep(14, 10)),
  fontname = c(rep('Helvetica', 10)),
  penwidth = 1.5,
  fixedsize = 'true')

#Create an edge dataframe
edf <- create_edge_df(
  from = c(1, 2, 3, 4, #Column 1
           6, 7, 8, 9, #Column 2
           2, 3 #Horizontals
  ),
  to = c(2, 3, 4, 5, #Column 1
         7, 8, 9, 10, #Column 2
         7, 8 #Horizontals
  ),
  arrowhead = c('none', 'none', 'normal', 'none', #Column 1
                'none', 'none', 'none', 'none', #Column 2
                'normal', 'normal' #Horizontals
  ),
  color = c('black', 'black', 'black', '#00000000', #Column 1
            '#00000000', '#00000000', '#00000000', '#00000000', #Column 2
            'black', 'black' #Horizontals
  ),
  constraint = c(rep('true', 8), #Columns
                 rep('false', 2) #Horizontals
  )
)

g <- create_graph(ndf,
                  edf,
                  attr_theme = NULL)

#export_graph(g, file_name = "Study Flow.png") #保存する

render_graph(g)

http://www.ec.kansai-u.ac.jp/user/arakit/documents/diagram_vignette.pdf

評価者間信頼性(検者間信頼性) inter-rater reliabilityをRで算出する

IRRとは

inter-rater reliability の略であり、
日本語では、評価者間信頼性となる。

評価者間信頼性

評価者間信頼性(検者間信頼性)は、2人以上の評価者が同じ対象を評価した場合の一致度です

評価者内信頼性

評価者内信頼性、検査者内信頼性は、同一評価者が2回以上繰り返し評価した場合の一致度です。

級内相関係数

級内相関係数 : Intraclass Correlation Coefficients:ICC を用いて、信頼性を表すことが多い。

実装

Package ‘irr’ を用いて実装できる。

install.packages("irr") #パッケージをインストール
library(irr) #パッケージを読み込む
data<-read.table("hoge") #読みたいファイルを指定する
agree(data) #単純一致率
kappa2(data) #カッパ計数
kripp.alpha(data) #クリッペンドルフのα

【解決済】Anacondaが起動してすぐ落ちる問題

Macを使用していて、Pythonがすぐ落ちてしまい、何も出来ない。

anacondaプロンプトで以下を入力

conda update anaconda-navigator

アップデートを行い、

anaconda-navigator

無事立ち上がりました。

RMarkdownで表を出力する

訳者の方からご恵贈頂いた、

Rプログラミング本格入門

第15章「生産性を高める」 より、とてもためになったので、自分なりに実践したことを記してみます。

動機

RMarkdownで出力したhtmlレポートに、キレイな表を入れたい。

やってみた

carsをdata table型で表示

DT::datatable(cars)

f:id:yoshi_nishikawa:20180321233638p:plain

  • DTというパッケージを使ったら異常にかっこよくなりました。

summaryをかっこよく表にする

knitr::kable(summary(cars))

f:id:yoshi_nishikawa:20180321233654p:plain

分析結果を表にする

xtable::xtable(lm(dist~speed, data=cars))->tab1 
print(tab1, type="html")

f:id:yoshi_nishikawa:20180321233715p:plain

  • めちゃくちゃスタイリッシュというわけではないですが、分析結果を表に出すことが出来ました。
  • ここでは、results='asis' のオプションを付けておくのがポイントです!

reviseをwithdrawした話

今回は、「revise案件を取り下げたという実体験」を、ここにまとめておきます。

論文投稿から掲載までのプロセスは、

執筆→査読→リバイズ→受理

という流れです。

今回、とある雑誌にリバイズ(minor revision)になったにも関わらず、

まったくトンチンカンなコメントがエディターから来ました。

おそらく他の論文の査読文を誤って私に送った模様・・・

あまりに酷い内容だったため、何度も雑誌社に問い合わせ、

1週間・・・

2週間・・・

1ヶ月・・・

2ヶ月・・・

何度もやり取りしましたが、一向に前に進む返事が来なかったため、このたび、はじめて論文を
"decline to revise"しました。

時間を要したので、苦渋の決断だったのですが、コレ以上は待ってはいられません。

原稿がどうなったか確かめにonline submissionのページに行くと、

f:id:yoshi_nishikawa:20180116164909p:plain

Declined Revisions (1)とあります。
ここをクリックして、中身を確認すると確かにこの中に入っていました!!
そしてAction Linksを確認すると、Reinstate Submissionというのがありますね。

f:id:yoshi_nishikawa:20180116165011p:plain

reinstate【他動】 ~を元に戻す、~を使えるようにする (人)を復職[復位・復権・復帰]させる

もとにもどす・・・!?

declineしても元に戻せる、のですか。

もうないとは思いますが、今後、雑誌社から良い返事や謝罪の連絡が来れば、
reinstateして、リバイズ作成する可能性は残されているということになりますね。

すべての雑誌で適用できるとは到底思えませんが、
この雑誌に関しては、1ヶ月くらいの時点で見切りをつけて、
次の雑誌に投稿を進めればよかったと反省しています。

一旦はお断りしましたので、次の投稿先で、日の目を浴びることができれば、と願っております。