Yoshi Nishikawa Blog

医学となにかのインタラクティブ

qplotで日本語を使う

ggplotを手軽に

ggplotのコードが覚えられない、忘れる。
何故かエラーになる、そんなことはありませんか?
ggplotを手軽に行うための関数があります。 その名も、qplot(quickplot)

qplot

qplot. ggplot2 2.1.0

ここを参考に色々な事ができる。 plot関数に近い使い勝手で美麗グラフができる。

日本語を使いたい場合

par関数に相当するのがthemeである。以下に従う。
old = theme_set(theme_bw(base_family=“HiraKakuProN-W3”))

元に戻すには
theme_set(old)

google mapを用いてある地点のシェープファイルを生成する

シェープファイル(Shapefile)とは

シェープファイルShapefile)とは、Esri 社の提唱したベクトル形式の業界標準フォーマットです。Esri 製品はもちろん、多くの GIS ソフトウェアで利用が可能です。シェープファイルは仕様が公開されています。シェープファイルの読み込み、書き込みに対応した独自のアプリケーションを開発されたい場合は仕様書をご参考下さい(Esri ジャパンより引用)。

www.esrij.com

googlemapからklmファイルを作成

f:id:yoshi_nishikawa:20161230171133p:plain

マイマップ→地図を作成

f:id:yoshi_nishikawa:20161230171621p:plain

追加したい地点(この場合は東京駅)を検索し、「地図に追加」。

f:id:yoshi_nishikawa:20161230171937p:plain

左上の...をクリックして「KLMにエクスポート」を選択。

これでklmファイルが作成できる。

klmファイルの読み込み

ArcGISのToolboxから、kml to layerにて読み込み可能。
あとは、そのレイヤーをエクスポートしてシェープファイルにて保存すればOK。

Mac bookのbootcampで起動したwindowsでスクリーンショットを撮る

ブートキャンプのウィンドウズでスクリーンショット

Windowsをブートキャンプで起動することがあります。
私の場合、ArcGISを使う場合がほとんどです。

以下のサイトを参考にしました。

www.webantena.net

主に3つの方法があります。

osk (スクリーンキーボード)

スクリーン上にキーボードを出して撮影。キーボードも撮影されてしまう点が難点。

ショートカットキー

fn + Shift(左側) + F11

全画面はこれでOK

Snipping Tool

これで画面の一部も切り取れます。

ペイント

切り取ったら、ペイントなどに貼り付けて、必要な画像を作成することができます。

UGT1A1*28*28と肺癌リスクについて

MEDICINE

UGT1A1*28*28と肺癌リスクについての解説記事

最新の研究で、UGT1A1*28*28と肺癌の罹患との関係が明らかになりました。この研究は2016年11月10日のInternational Journal of Clinical Oncology誌(オンライン版)に掲載されました。本稿は、今年読んだ一番好きな論文2016とリンクしています。

UGT1A1とは

UDP-グルクロン酸転移酵素(UGT)は主に肝臓の小胞体に局在し、UDP- グルクロン酸をドナー基質とし排泄作用の一環として細胞内の水酸基やカルボキシル基, アミノ基,イミノ基,スルフィドリル基を持つ化合物をグルクロニル化する酵素です。簡単に言うと、肝臓で毒素を代謝する酵素です。
UGT1A1の遺伝子多型は、アジア人よりも白人に多い*28と、ほとんどアジア人にしかみられない*6などが存在します。

f:id:yoshi_nishikawa:20161223231746p:plain

論文の紹介

本研究では、単一施設で2004~2014年に化学療法を受けた5285例のうちUGT1A1の遺伝子型が測定された765例を研究対象としました。肺癌とその他の癌の群に分け、UGT1A1*6及び*28の頻度の差を検証しました。劣性・優性・相加のそれぞれのモデルで、ロジスティック回帰を行い検証しました。統計ソフトはRを用いています。

f:id:yoshi_nishikawa:20161223231800p:plain
(Nishikawa 2016より一部改変)

UGT1A1*28*28 の頻度(UGT1A1*28劣性モデル)は、肺癌においてその他の癌と比較して高いことがわかりました( オッズ比OR = 5.3, p = 0.0083)。その他の遺伝子多型では、肺癌とその他の癌とで差を認めませんでした。

f:id:yoshi_nishikawa:20161223232110p:plain
(Nishikawa 2016より一部改変)

  1. UGT1A1は煙草に含まれる有害物質の代謝に影響することから、肺癌のリスクを上げたのではないかと推察されること。
  2. Genome wide association studyなどにおいても、*28という「リピート変異」は、余り検証されてこなかったこと。
  3. 専門分化していく中で、統合して臓器横断的に見ることで、新たな関連を見いだせたこと。

は重要なポイントであると考えられます。

本研究は、単一施設での、癌患者が対象の研究ですが、今後の議論のたたき台になることを願っております。

そのほか、論文中では、病理組織の結果も含めて検討しております。もしよろしければ、ご一読ください。

出典:Association between UGT1A1*28*28 genotype and lung cancer in the Japanese population | SpringerLink

smoke

circular statistics (角度統計)について

clock

髄膜炎に関する論文

Seasonal dynamics of bacterial meningitis: a time-series analysis. The Lancet Global Health http://dx.doi.org/10.1016/S2214-109X(16)30064-X

以前読んだ論文。前回はWaveletについて述べた。今日は、角度統計(circular statistics)について。

角度統計(Circular statistics)

ある地点における何かの向き(太陽、風向、樹木の樹冠の向き、生物の移動方向など)を記録したデータは、円周上に値をプロットできるデータみなせる。このようなデータを対象とする統計学は角度統計学と呼ばれている。日本語では、方向統計学、円周統計学、英語では、circular statistics, directional statistics, spherical statisticsなどが近い表現である。
角度は円周上の点と1対1対応するため、円周上の分布を用いて解析することができる(0度=360度となる)。
また、周期的な性質を持つデータは角度データとして表現可能であることから、例えば、ある疾病の月毎の発症数データなども角度データとしてみなすことができる。 円周上の分布は多様な方法が提案されてきた。

今回の論文中では、月別の髄膜炎を追っており、真の0や高い低いの評価が適切ではないため、角度統計が採用されている。

検定

Rayleigh test:
角度データには偏りがあるか? 1峰性の分布が想定されるときに有効。
Kuiper test:
角度データはvon Mises分布に従っているのか? 多峰性の分布が想定されてもOK。
Mardia-Watoson-Wheeler test:
2群の角度データは同一分布に従っているのか?

などがある。

信頼区間の推定

信頼区間の推定はブートストラップ信頼区間を用いる事ができる。以下のブログは参考になる。

ブートストラップ法で信頼区間を求めるときの注意点 - ほくそ笑む

参考資料

意外と資料が少ない。日本語だと、以下で外観は掴める。
角度データの統計処理基礎
環境科学における方向統計学の利用
角度分布の概要

R package "circular"

以下で試すことができる。簡単なものを試してみる。
p値の算出はいくつか方法がある

f:id:yoshi_nishikawa:20161221181435p:plain
f:id:yoshi_nishikawa:20161221181432p:plain

?`circular-package` #circular package help
library(circular) #ciucular
x <- circular(data.frame(runif(50, 0, pi/2))) #trial
par(mfcol=c(1,2))
plot(x, main = "plot") #plot 
rose.diag(x, main="rose diagram") #rose diagram

class(x) 
is.circular(x)

mean.circular(x)
rayleigh.test(x) #Rayleigh test of uniformity, assessing the significance of the mean resultant length.
kuiper.test(x)

sd.circular(x)

mle.vonmises(x) # estimation of mu and kappa 
mle.vonmises(x, mu=circular(0)) # estimation of kappa only


x.bs <- mle.vonmises.bootstrap.ci(x, alpha=.10) 
par(mfcol=c(1,2)) 
rose.diag(x.bs$mu, bins=30, main=expression(mu))
hist(x.bs$kappa, main=expression(kappa))

# Compute the median direction of a random sample of observations. 
median(x) #only the median is returned 
meandeviation(x)  #mean deviation is reported ## Not run:
median.circular(x) #only the median is returned 
medianCircular(x, deviation=TRUE) #both median and deviation are reported

mle.vonmises.bootstrap.ci(x, mu = NULL, bias = FALSE, alpha = 0.05, reps = 1000, control.circular = list())

疫学・統計・Rなどの役立つリンク集 (Useful Links for Epidemiology, Statistics, R etc)

統計学 Statistics

統計学の学習(Learning statistics)

Basics of Statistics (Jarkko Isotalo)

統計解析結果のレポーティング(Reporting statistical results)

JJCO誌のガイドラインは1997年と古い物だが、有用。

日本語:福田治彦、大橋靖雄「Japanese Journal of Clinical Oncology投稿に際しての統計解析結果のレポートに関するガイドライン」

English: Fukuda H, Ohashi Y. A guideline for reporting results of statistical analysis in JapaneseJournal of Clinical Oncology. Jpn J Clin Oncol 1997;27(3):121-7.

有名誌のAuthor Instructionも有用。以下はAnnals of Internal Medicine(米国内科学会)のもの。

Annals of Internal Medicine: Information for Authors - General Statistical Guidance

疫学(Epidemiology)

R

(随時更新していきます。)