統計学と疫学と時々、助教生活

疫学を専門とする助教の研究に関する備忘録的ページ。

R programming

【2021年夏】データの可視化おすすめ書籍5選|アカデミア版

データの可視化に関する書籍+論文を簡単なレビューとともに紹介したいと思います(2021年9月1日現在)。

【R】gtsummaryで回帰分析の表を結合する(tbl_merge編)

gtsummaryパッケージのtbl_merge関数についてまとめています。

【R】gtsummaryで回帰分析の表を結合する(tbl_stack編)

gtsummaryパッケージのtbl_stack関数についてまとめています。

【R/R Studio】YouTubeチャンネル開設しました(Rとの出会いや使い続ける理由なども...)

先日、YouTubeチャンネルを公開しました。このブログでも、R for begginerとして5回に分けたコードの共有をしましたが、初心者向けの動画を改めてYouTubeにまとめることにしました。www.youtube.com ちょっとだけ、その経緯などを残しておきます。 1. YouTub…

R package "JM"を使用してJoint modelを実装する。

前回は生存解析においてベースラインだけでなく、縦断的に測定している(繰り返し測定、反復測定値ともいう)値の影響も組み込んだ「時間依存性共変量」についてまとめました。今回は、さらに進化した(個人的見解です)Joint modelについて、簡単な紹介とR…

R package "survival"を使用した生存時間解析(ベースライン情報のみか時間共変量も組み込むか)

Rのsurvivalパッケージを使用した生存解析について、時間依存性共変量を組み込んだモデルと通常モデルの比較を行なっています。

R package "rworldmap"を使用して世界地図に色をつける

こんにちは。世界地図にデータに基づいて色をつけてたいと思ったことはないでしょうか。プレゼンや研究発表など様々な場面で描画したいと思う機会があるでしょうが、今回はそんな時に自分で作成できるパッケージ'rworldmap'を紹介します。今回は事例として、…

R 時系列データの異常部位検出(近傍法)

今回も先ほど公開した記事と同様に、『入門機械学習による異常検知-Rによる実践ガイド-』(コロナ社、井出剛著、2015)の中にある「7.1 近傍法による異常検知」ということで、この内容をなぞり、最後に時系列データ解析の際に重要になる窓幅(どれだけの地点…

R リッジ回帰モデルと異常検知

今回は、『入門機械学習による異常検知-Rによる実践ガイド-』(コロナ社、井出剛著、2015)の「6.3 リッジ回帰と異常検知(P165-172)」の内容をもとに政府・官公庁データをもとにして作成した都道府県別の10万人あたりの自殺者数を予測するモデルを作成し、…

R 重複のある列に順位をつける

今回は『R役に立つ小技5選』シリーズに入れようか迷った内容ですが、こまめに記事にしたいということで単独で掲載することにします。 そもそもの発端は、「〇〇くん、これに順位をつけたいんだけど、うまくいく方法はないか」という疑問からでした。「これ」…

R bioconductor"snpStats"を使用した、PLINKフォーマットのデータからRのデータに変換する

今回は、PLINK特有のファイルフォーマットである.bed、.bim、.famからRでの処理に適した形式に変換するbioconductorのsnpStatsというパッケージについて説明する。PLINKでの解析については、過去の記事1, 2をご参考にして頂きたい。今回使用するデータはこの…

R package "BLR"でベイジアンラッソ(Bayesian Lasso regression)

あけましておめでとうございます(疫学会や予防早期医療創成センターのワークショップ等への参加もあり、一ヶ月ぶりの更新です)。 今回はRのパッケージ"BLR"を用いて、ベイジアンラッソを実行する。ちなみに参考にするのは、Cedric Gondroらによる『Genome …

R データの読み込み(高速化)

今回はSpringerから出ている『Genome-Wide Association Studies and Genomic Prediction』という本からデータの読み込みについて記述する。GWASなどのゲノムデータは非常に膨大であり、読み込みだけでもかなりの時間を要する。そこで下記のTipsで幾分改善さ…

R package"VennDiagram"でベン図を書く

今日はベン図を描きたいと思います。 (今回は例として、東海三県での多い名字30位についてベン図を書いてみようと思う) パッケージの読み込み library(VennDiagram) まずはベン図で書きたいそれぞれのカテゴリに含まれる要素を書き出す aichi <- c("鈴木","…

R 2つのリストを比較する関数(intersect、setdiff)の紹介

今日はリストを比較する時に役にたつコマンドを紹介します。 これらは膨大なリストを扱う際に、「共通のものを抽出する」「片方に特有のものを抽出する」などに非常に役に立ちます。 早速、実践 下記のようにAとBのリストが与えられているとする。 #AとBそれ…

R package'metap'を使用して、p値の統合をする

こんにちは。今回は異なる環境や場所で行った同様の実験や研究によって導かれたp値を統合しようという試みがあった時の対処法について、Fisher's methodを取り上げて、今回は説明します。 FIsher's methodとは i個あるp値のlogをとった値を足し合わせて、そ…

R package 'SKAT'を用いて、SKATを実行する vol.2

こんばんは。前回のSKATの記事の内容に少し付け加え(Kernelの種類を増やして検討しただけ)をします。基本的な解析は前回の記事をご参照下さい。 jojoshin.hatenablog.com はじめに 前回の記事にも記載した通り、SKAT()は二値のアウトカムには適しておらず…

罰則付き・正則化回帰モデルについて(About penalized/regularized regression model)

久しぶりの更新になりました。6月末の北海道でのISEE-ISES AC2016への参加とその後は論文執筆に集中していました。ISEE-ISESのアジア支部総会では、pre-conference workshopにも参加し、distributed lag non linear model(DLNM)という時系列分析の一種を学…

R for beginners vol.5(最終回)「検定と回帰分析」

今回で全5回のR for beginnersの最終回です。 最後は統計解析の醍醐味ですが、「検定と回帰分析」について書きます。 【今日の狙い】 統計学な検定や回帰モデルをRで実行できるようになる。 sample <- read.csv("sample.csv", sep=",", header=T) #attach()…

R for beginners vol.4 「データの要約とビジュアライゼーション」

今回はデータの整頓から少し分析に近いことを始めます。その中でデータを要約し、図示することが解析の一歩かと思い今回の内容にしています。R for beginners vol.1 「Rの紹介と基本的なコマンド」 jojoshin.hatenablog.comR for beginners vol.2 「データの…

RでSteel-Dwass(スティールドゥワス)検定をする

今日はノンパラメトリックな多重比較の一例として、Steel.Dwass testのRでの実行方法を記載する。 (2016年6月13日にコメントされたようにsteel-dwassについてNSM3パッケージにあるコマンドについて追記した。) 方法1 Steel.dwass検定は下記のHP(群馬大学…

R for beginners vol.3 「データのクリーニングと編集」

今回は先週のデータ入力や出力に続いて、実際の解析を行うにあたって必要なNAの除外や列の追加などのコマンドを学習する。 (今回で3回目であるが、この5回のコースは初心者Rユーザーのためのものであり、基本的な内容で構成されていることを再度確認してお…

R package'tableone'のCreateTableOne関数で表1を書く

今回は疫学などヒトを対象とした研究で対象者の特性として、主な変数の要約することが多くありますが、その表1(table1)を描き、csvとして出力できる便利な関数の紹介です。 その便利な関数はCreateTableOne()関数です。(パッケージはtableoneと言うもので…

Rで残差補正された値を求める

Rの例としてよく使用されるirisデータを用いて、残差を簡単に求める。 特に今回は例として、Sepal.Length(がくの長さ)とSepal.Width(がくの幅)について、残差を求める head(iris) ## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 1 5.…

R for beginners vol.2 「データの入出力とサブセット」

今回は前週に引き続き、第2回「Rのデータセットの扱い方(入力と出力及びサブセット)」に移る。R for beginners vol.1 「Rの紹介と基本的なコマンド」 jojoshin.hatenablog.com 【今回の狙い】データの取り込み、書き出し方法やデータセットの整理ができる…

R for beginners vol.1 「Rの紹介と基本的なコマンド」

今回から全部で5回ほどに分けて、Rの基本をマスターできる記事(全くの知識がない者向け)を一週間おきに公開する。 Rのコマンド等は言うまでもなくたくさんの方が公開されているので、そちらを参照して頂いた方が良いかもしれない。 一回あたり1.5hを目安に…

R ダミー変数を使用した回帰分析?

今回も比較的簡単な内容であるが、ダミー変数を使用した回帰分析について記録しておく。 ダミー変数は例えば、男女をそれぞれ0,1と与えたものである。性別の水準(level)は男と女の2つであり、ダミー変数は1つで良い。 一方で、「低」「中」「高」のように3…

R 役に立つ小技5選 vol.3

今回は第3回目となる『R役に立つ小技5選』についての記事です。 前回と前々回の記事は下にリンクがあるので、ご参照ください。 No.1 Macを使用して、Rでグラフを日本語で書くと、文字化けするのを解消する方法 par(family="Osaka") hist(データ名, xlab="x軸…

Rで遺伝子多型とアレルの頻度を算出するコマンド:genotype()

今日はあるSNP(一塩基多型)の遺伝子多型とアレルの頻度を算出するコマンドを紹介する。今回は2016年1月に発売された『実践でわかる!Rによる統計遺伝学』の内容も参考にしている。 初めに 今回使用するデータを丸善のサポートページ(http://pub.maruzen.co…

Rでポアソン回帰分析

今回はRで学ぶデータサイエンスシリーズ『カテゴリカルデータ分析』の第7章ポアソン回帰分析のついてまとめる。 (超基本かと存じます) はじめに ポアソン分布というのは交通事故に代表されるように、その事象が発生する確率が極めて小さい事象に関する分布…