理学療法士がまとめたノート

統計学備忘録(R言語のメモ)

since2016 ときどきTEXのメモ

回帰直線と交互作用

パッケージ無しで描く方法 dat <- data.frame(y=c(1,2,3,4), x=c(4,5,8,12), a=c(1,1,0,0)) dat$a <- as.factor(dat$a) plot(dat$x, dat$y) fit <- summary(lm(y~x, data=dat)) lines(range(dat$x), fit$coef[1]+ fit$coef[2]*range(dat$x)) pchAB <- ifelse…

共分散分析 ANCOVA

サンプル(勝手に作ったサンプルです。実存しません。) 治療Aと治療Bの降圧効果に関する検証 治療 <- c("B","A","B","A","A","B","B","A","A","B","A","B","B","B","A","B", "B","B","A","A") 治療前BP <- c(160,135,177,141,142,155,175,145,149,155,135,1…

混合モデル(マルチレベルモデル)の基礎

投稿日:2021.5.2 忘れないように基本的な部分のみ貼っておきますが、名称だけでも統一していただきたいです・・・ 線形混合モデル () 線形混合効果モデル () 階層線形モデル () マルチレベルモデル ()・・・etc サンプルはパッケージlme4の「cbpp」を使用し…

級内相関係数 (ICC:Intraclass Correlation Coefficient)

投稿日:2020.7.30 最終更新日: 2021.4.18 下記の文献をRを使って解析します Shrout PE, Fleiss JL. Intraclass correlations: uses in assessing rater reliability. Psychol Bull. 1979;86(2):420-8. : between-targets mean square : within-targets mean …

ロジスティック回帰の基準(reference) 変更

ロジスティック解析を行うときには、オッズとオッズ比の基準 (reference) が非常に重要になります.特に日本語での記述の場合には、解析を行う前に基準を設定することをお勧めします. df <- data.frame(c(rep("あり",15),rep("なし",15)), c(rep("有効",12)…

基準値の変更

df <- data.frame(c(rep("あり",20),rep("なし",10)), c(rep("あり",9),rep("なし",6),rep("あり",5),rep("なし",10)), c(30, 35, 29, 22, 32, 29, 30, 33, 35, 25, 30, 35, 29, 22, 32, 29, 30, 31, 25, 25, 16, 16, 18, 22, 10, 29, 20, 18, 12, 16)) coln…

Tex 図を並べる

TeX

図を縦に二つ並べる \begin{figure}[H] \centering \includegraphics[width=40mm]{ファイル01名.jpg} \caption{図の説明01} \end{figure} \begin{figure}[H] \centering \includegraphics[width=40mm]{ファイル02名.jpg} \caption{図の説明02} \end{figure} …

stripchartの横にエラーバー

サンプル ID <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) 治療 <- c("A","B","A","B","B","A","A","A","B","B","A","B","A","A","A","B","A","B","B","B") BP変化量 <- c(治療後BP - 治療前BP) dat1 <- data.frame(id, 治療, 治療前BP, 治療…

回帰分析の結果の解釈

単回帰分析 dat <- LifeCycleSavings # sr(個人貯蓄の合計), pop15(15歳未満の人口の数値%), pop75(75歳未満の人口の数値%), dpi(可処分所得、自由に使える収入), ddpi(dpiの成長率) reg1 <- lm(sr ~ pop15, data=dat) summary(reg1) 次のような結果が出力…

カッパ係数

投稿日2018.3.12 最終更新日2020.10.13 個人的によく利用させていただいております以下のHPをもとに、今回はカッパ係数について少し勉強してみます 統計学入門−第5章 まずはHPに掲載してある次のサンプルデータを使用して、Rを使って処理してみます 分類数が…

ANOVA君 で分散分析

投稿日2017.8.25, 更新日2020.8.17 ANOVA君はフリーの統計ソフトウェア「R」で動作する分散分析関数です。ダウンロード、使い方、リリース情報などは「井関龍太のページ」を必ずご確認ください. ANOVA君 - 井関龍太のページ このブログではanovakun version …

分散分析(繰り返し vs 反復)

登校日:2017.11.06, 更新日:2020.08.12 「繰り返し」と「反復」は区別なく混同して使用される場合もあります.要点のみ記載しておきます。 繰り返し 実験内容としては「水準の設定を最初から施して既定のサンプル数を繰り返してとる」ことになります. 「繰り…

ロジスティック回帰分析の基礎

投稿日:2018.2.13 最終更新日:2020.07.26 説明変数がが単一かつ連続変数の場合 ロジット関数 (標準)ロジスティック関数ロジット関数の逆関数= サンプルirisより 品種"virginica=1"、"別の品種=0"という2値を目的変数、”Sepal.Length(がく片の長さ)(cm)”を…

分散分析の基礎

投稿日: 2017.11.02最終更新日: 2020.07.11 用語の定義 要因、因子(factor):結果に影響を与える要素.それぞれの分野で使い分ける場合もあるので注意(このブログでは要因と因子の区別をせず「要因」で統一). 効果:結果への影響 群 (水準):要因を分類す…

2標本のグラフ、記述統計

2標本のまとめを簡単に サンプル dat1 <- c(-0.65, -0.58, 1.98, 0.98, 1.55, -0.05, 0.10, -1.35, 1.24, -0.28) dat2 <- c(1.31, 2.39, 2.87, 2.25, 2.33, 5.32, 3.13, 1.21) まずはデータセットを作成 data <- c(dat1, dat2) group <- c(rep("A", length(d…

感度と偽陽性 ( 単回帰分析より )

X <- c(rep(0,70), rep(1,75)) #検査結果 0=陰性、1=陽性 Y <- c(rep(0, 45),rep(1, 25), rep(0, 8), rep(1, 67)) #罹患 0=無し、1=あり (b <- xtabs(~Y + X)) X Y 0 1 0 45 8 1 25 67 上記分割表より 感度 P(Y=1, X=1):67/(25+67) = 0.7282609 1-特異度 P…

単回帰 β1の推定値とp値のみ(図あり)

func <- function(Y, X){ fit <- lm(Y~X) plot(X, Y) lines(range(X),fit$coef[1] + fit$coef[2]*range(X)) z <- summary(fit) return(c(z$coef[2,1], z$coef[2,4])) } # YとXに該当する変数を挿入 func(Y, X)

単回帰分析を一括で実行する方法

tokei.net 全人類が分かる統計学より to-kei.net 上記サイトに自分なりの注釈をつけました。 sampleもまったく同じです。 番号 <- c(1:30) 年齢 <- c(22,23,24,25,27,28,28,29,30,31,32,32,33,33,34,36,37,37,38,39,40,42,46,49,50,53,56,58,64,65) 血圧 <- …

エラーバー付きのグラフ ggplot2

更新日2020.3.13 使用するパッケージ install.packages("ggplot2") install.packages("ggsignif") データセットを作成します dat <- c(-0.29733004,-2.63812280,-0.90097072,1.06843016,-3.03846846,2.14097694,2.47494865,-0.02154341,0.56411223,2.8182606…

簡単なエラーバーの描き方

たぶんこれが最も簡単な書き方だと思います Aの平均 = 2 Bの平均 = 3 Aの標準偏差 = 0.4 #ここに標本標準偏差や不偏標準偏差を代入します Bの標準偏差 = 0.7 dplot <- plot(c(1,2), c(Aの平均, Bの平均), ylim = c(0,5), xlim = c(0.5, 2.5)) arrows(1:2, c(…

比較した箱ひげにアスタリスクを入れる

アスタリスク 比較したラインを箱ひげの上限から2メモリ離した位置まで伸ばす・・・ 治療 <- c("A","A","A","A","A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","B") 治療前BP <- c(140,135,145,141,145,159,141,150,149,160,170,158,165,170…

sample

解析の練習で使うデータサンプル集 随時更新 sample1 症例 <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) 性別 <- c("男性","男性","女性","男性","男性","女性","男性","男性","男性","男性","女性","女性","女性","女性","男性","女性","女性…

テーブルをベクトルに変換

症例 性別 治療 治療前BP 治療後BP BP変化量 1 1 男性 B 160 148 12 2 2 男性 A 135 133 2 3 3 女性 B 177 160 17 4 4 男性 A 141 138 3 5 5 男性 A 142 139 3 6 6 女性 B 155 145 10 7 7 男性 B 175 157 18 8 8 男性 A 145 142 3 9 9 男性 A 149 142 7 10 1…

ブログ名の変更

旧)統計学備忘録since2016 新)統計学備忘録(R言語のメモ) ブログ名だけで趣旨が分かるように変更しました

PDFにページ数を挿入する場合

TeX

PDFにページ数を挿入する場合 PDFのファイル名はNo1,No2,No3の三枚 同じフォルダに入れる \documentclass[uplatex,11pt]{jsarticle} \usepackage[top=15truemm,bottom=15truemm,left=15truemm,right=15truemm]{geometry} %余白 %図 \usepackage[dvipdfmx]{gr…

層別した散布図と回帰直線

以下のようなグラフ 忘れないように記載しておきます データサンプル Group <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3) p…

開設3周年

はてなブログさんから素敵なメッセージが届きました

表1の作り方 "tableone"

年齢 <- c(52,55,52,56,56,49,43,48,43,42,44,43,48,51,43,49,39,38,50,52,59,65,54,39,53,39,50,41,44,56,54,57,53,51,61,51,57,59,55,52) 性 <- c("男","男","男","男","男","男","男","男","男","男","男","男","男","男","男","男","男","男","男","女",…

if関数 層別カテゴリー化した変数を追加

id <- c(1:50) age <- c(35,55,53,56,66,49,43,48,64,42,44,74,48,61,43,49,39,38,55,43,48,48,49,49,43,46,49,46,47,43,43,48,50,41,51,45,50,47,44,68,45,45,49,75,55,77,42,57,48,58) data <- data.frame(id, age) このデータのageを4つにカテゴリー化し…

独立している2群を比較するグラフ ggplot2

データの準備 dat <- c(c(rnorm(15)),c(rnorm(15,3,1.2)),c(rnorm(15,10,2)),c(rnorm(15,17,1.5))) pre_post <- c(rep("前", 30),rep("後", 30)) treat <- c(rep("A",15),rep("B",15),rep("A",15),rep("B",15)) dataf <- data.frame(dat, pre_post, treat) h…