CATEGORY

R

【Rデータ整理】Factor 内の順序を入れ替える

例えば下記のように、 症例の年齢 Alzheimer’s Disease Neuropathologic Change (ADNC) で10症例のデータフレームを作った場合。 Age <- c(65, 72, 82, 68, 75, 74, 78, 68, 69, 80) ADNC <- c("Intermediate", "High" , "Low" , "Interme […]

【Rベーシック】NA とは何か?

「NA」とは、「Not Available」の略。 欠損値の場合もあるし、「認識できない」ときにも表示される。 TRUE   #1 で表される FALSE   #0 で表される NA という感じで、TRUE でも FALSE でもない場合に、「NA」と表示される。 eg. 下記のように入力した場合、 TRUE == TRUE TRUE == 5 FALSE == 1 FALSE == FALSE […]

【Rで統計】共分散分析:ANCOVA

共分散分析 (analysis of covariance, ANCOVA) は、 従属変数が「連続型」の場合、1つ以上の独立変数がその連続型の共変量に影響を及ぼしているかどうか調べる時に使う。 「共変量を用いる」という点を除けば、本質的には分散分析 (analysis of variance, ANOVA) と同じ。 R で ANCOVA をする時は、「重回帰分析 + 分散分析」というイメージ。 […]

【Rで統計】順序ロジスティック回帰分析

回帰分析をする際、 目的変数が Yes or No などの2つだと、通常のロジスティック回帰を行うが、 これが、例えば Not, Low, Intermediate, or High のように、 3つ以上の場合は、順序ロジスティック回帰を使う。 順序ロジスティック回帰をRで行う方法 例 ある遺伝子多型 の major allele は “C”, minor allele は […]

【Rデータ整理】文字の置換:gsub/sub/str_replacement/str_replacement_all

とある csv データを取り込み…… Data1 <- read.csv("Dataset.csv") 「str()」で確認すると、 数値になっていてほしいところが、文字列で認識されている。 これはなんでかというと、 例えば Revenue や Expenses の行は、3桁毎に「,」で区切られているが、R はこれを「数値」だとは認識せず、「文字列」として認識している。 また、Revenue […]

【Rデータ整理】factor と numeric の変換

これからデータ整理の色々と書き留めていく予定。 まず、とあるcsv データを取り込み。 取り込みの方法は下記 ▼ Data1 <- read.csv("Dataset.csv") 「str()」で確認すると、 factor になっていてほしいところが、numeric で認識されている。 そして、サマリーをみてみると、 と、西暦なのに最大値とか最小値とか平均値とか四分位とかが出ている……。 & […]

【Rベーシック】データの取り込み

エクセルのデータ etc. を R にインポートする方法。 csv ファイル etc. の取り込み エクセルデータは基本 csv ファイルで保存し、R に取り込む。 CSV ファイル CSV ファイルは、「comma Separated Value」の略。 カンマ(,)で区切った値、という意味。 csvファイルは相互性が高く、Excel、メモ帳、メールソフト、データベースなどほとんどのソフトに取り […]

Visual Studio Code で R の実行環境を整える

RStudio は、R の IDE として大変使いやすいけれど、マルチカーソルがちょっと使いづらい…… とゆーことで、VSCode で R を動かせるように設定した時の備忘録。 必要なインストール類は下記。 <必須> R Visual Studio Code VS Code 拡張機能:R (by Yuki Ueda) <入れるべき> VS Code 拡張機能:R LSP Client (by RE […]

【R Markdownトラブルシュート】レンダリングできないとき(openBinaryFile: invalid argument)

先日、R Markdown を knit しようとしたら、下記メッセージがでてレンダリングできなかった。 pandoc.exe openbinaryfile invalid argument (invalid argument) 検索すると、同じエラーで困っている人達の投稿が…… 解決策の一つに、ディレクトリをクラウドからローカルに移すことを推奨。 ……最近、職場と自宅と両方で R を使う必要があ […]

【Rで統計】正規分布の検定(シャピロ・ウィルク検定)

Demographics を Table で出す時、 正規分布していたら 平均値と標準偏差(standard devision, SD) 正規分布していなかったら 中央値と四分位範囲(inter quartile range, IQR) で記載する。 他、統計で各群を比較する際にも、 正規分布している:パラメトリック検定 正規分布していない:ノンパラメトリック検定 対応なし 対応あり 対応なし 対 […]

【RStudio】パッケージを読み込めないとき

先日、今まで普通につかえていた R Markdown ドキュメントを開いて Knit しようとしたら、途中でエラー表示がでました。 内容は、「tidyverseがインストールされていない」というもの。 Error in library(tidyverse) : there is no package called ‘tidyverse’ 「あれ?」と思って、tidyverse を再インストールする […]

【Rベーシック】データ構造とデータ型

データ構造とデータ型の覚え書き。 データ構造 データ構造とは データ構造とは、データがどのように入っているのかを定めるもの。 Rでは5種類のデータ構造がある。 ベクトル (Vector) 行列 (Matrix) 配列 (Array) リスト (List) データフレーム (Data Frame) ベクトル (Vector) vector は1次元ベクトルとして値を格納する。 1つの vector […]

【R Markdown】アウトラインの表示

ドキュメントの中身が長くなってくると、ほしいコードや文書がどこにあるかわかりにくくなる。 そんな時、ドキュメントのアウトラインを表示しておくと、内容を整理しやすいし、目的の場所にすぐジャンプすることができて便利。 アウトラインの表示 普段は下記のような表示設定。 右上の、アウトラインボタンを押すと、 スクリプトペインの右側にアウトラインが表示される。 スクリプトで、 # : h1タグ ## : h […]

正規表現とメタ文字の覚え書き

色々使える正規表現の覚え書き。 正規表現(Regular Expression, Regex)とは 正規表現とは、「いくつかの文字列を一つの形式で表現するための表現方法」。 この形式を使えば、違う言葉etc.が入った文字列でも検索することが可能となる。 正規表現では、「一つの形式で表現する」ため、いくつかの文字に対して特別な意味を与えている。 . ^ $ [ ] * + ? | ( ) \ &nb […]

【R Markdown】R Markdown の使い方色々

R Markdownとは、RとMarkdownが結合されたもので、文章の表示とRの実行が同時にできる事が魅力の1つ。 R Markdownでは文章の中にコマンドを同梱できるため、ファイルが複数に散逸せず、整理しやすいという利点がある。 また、rmdファイルを送った相手に、解析内容を詳細に伝えられ、また相手側で簡単に再現できるという、 共同研究を行う上で最重要項目の1つ、「データを正しく共有」という […]

シンタックスハイライトを維持した状態でコードをメール本文に貼り付ける方法

ある日、友人にR Markdown のコードを確認してもらいたかったんですが、添付ファイルがごちゃごちゃしていたので、本文にも重要箇所だけ記載しておきたいという気持ちになりました。 でも、シンタックスハイライトがないと、なんとも読みにくい…… そこで、シンタックスハイライトを維持したままメールに添付する方法 ▼ R Markdown の内容を VS codeに貼り付け VS code を使います。 […]

【Rベーシック】演算子

演算子等の覚え書き。 論理演算子 論理演算子 < 左片は右辺より小さい > 左片は右辺より大きい <= 左片は右辺以下 >= 左片は右辺以上 == 等しい != 等しくない ! 否定 | 両辺のどちらかはTRUE & 両辺がともにTRUE || 条件内での “どちらかTRUE” && 条件内での “ともにTRUE& […]

【Rトラブルシュート】’rlang’ does not have a namespace

ある日突然、今までできていた パッケージのインストールができなくなることが時々ある。 今回は、’tidyverse’ を読み込もうとしたら、下記メッセージが出てきて止まった。 Error: package or namespace load failed for ‘tidyverse’: package ‘rlang’ does not have a namespace … […]

【R Markdown】現在の日時を記入:Sys.Date(), Sys.time()

R Markdown で新規作成すると、ヘッダに日付が入力されるが、それを「現在の日時」にする方法。 現在の日付を記入: Sys.Date() Sys.Date() で、現在の日付を挿入できる。 私が設定している方法は下記 ▼ --- title: "title" author: "mom-doc" data: '`r format(Sys.Date(), "%B %d, %Y")`' --- & […]

【R Markdown】cache オプションと無効化の方法

R Markdown で使用するチャンクには、 {r チャンク名} でチャンク名をつける事ができます。 ほとんどの場合、チャンク名をつけなくても問題はないのですが、 cache オプションをつけるときには、チャンク名が重要な意味を持ってきます。 cache オプションとは cache オプションは「処理結果を保存する」という意味です。 チャンクのコードは、Knitする度に計算されます。 もし、演算 […]

【RStudio】ショートカットキー

RStudio のショートカットキーの備忘録。 随時更新予定。 全般 目的 ショートカットキー 実行(RUN) Ctrl + Enter 表示コードを全実行 Ctrl + Shift + Enter 選択部分より上のコードを全実行 Ctrl + Shift + Alt + P パイプ演算子(%>%) Ctrl + Shift + M ペイン 目的 ショートカットキー 説明 Source Ct […]

【Rトラブルシュート】パッケージをインストールできないとき

Rの環境を変えて、パッケージを再インストールしようとしたら、下記エラーが表示された。 「代わりに新しいライブラリを構築しますか?」 的な事を効かれたので、「YES」としたのに、また下記メッセージ。 「結局ダメってことじゃん。」   と、文句を言っても始まらないので、Google先生に聞いてみたところ、解決したので、その備忘録 (参考サイトは記事末にまとめています)。 Rパッケージをインス […]

【Rで作図】特定のグループ毎に固めて表示する方法

例えば、Tgマウス(例はPdと記載)とWTマウスの解析で、 1つのグラフ内でオス(M)とメス(F)毎に固めて表示 Region(Ipsi-Hipp, Ipsi-Ctx, Cont-Hipp, Cont-Ctx)毎に複数のグラフに分けて表示 したい場合の備忘録。 1つのグラフ内でオス(M)とメス(F)毎に固めて表示 オスとメスに分けて解析したい場合。 Group という列を作って、”WT […]

【RStudio】デフォルトの作業ディレクトリを変更

デフォルトの作業ディレクトリは、最初は上の階層に設置されている。 この作業ディレクトリの初期設定を、任意の場所に変更したい場合の覚え書き。 ついでに、現在の作業ディレクトリの場所の確認方法と、その場所を変更する方法も紹介。 デフォルトのディレクトリを変更する方法 1. RStudioを開く 2. Tools -> Global options 3. “Default workin […]

【RStudio】テーマを変更

RStudioの画面は、デフォルトでは白いバックグラウンドになっている これを、私の好きなDark colorに変更する方法   1. Tools -> Global Options -> Appearance 2. 設定を変更 RStudio theme: Modern ZoomL 100% Editor font: Lucida Console Editor font s […]

【Rで作図】バイオリン・プロット(Violin plot)

データをグラフにするとき、 「これのデータは バイオリン プロット で表すのが最適。」 と思う時があります。 今回は、それを R で作るときの備忘録。 ggplot2 のインストール ggplot2 は、“The Grammer of Graphics” という体系に基づいて設計されたパッケージ。 Hadley Wickham氏が作成。 ggplot2の文法 グラフ = 座標 (ggplot) + […]

【Rデータ整理】データフレームの最初の行、ディメンジョン、構造を確認する:head/dim/str

テーブルデータを取り込んだ後は、最初の6行、ディメンジョン、概要などを確認する。 データの取り込み 例えば、 コンソールに下記入力してデータを取り込む。 例えば、Dドライブにある”data.csv”というファイルを取り込む場合。 > data <- read.csv("D:/R/R directroy/data.csv", header=TRUE) 1行目はヘッ […]

【Rで統計】McNemar検定

COVID19による在宅勤務継続中…… 自宅の顕微鏡でコツコツ見てきたデータを元に、ある病理分布のステージングを作ったのですが、 オンラインミーティングで、 「そのステージングの信頼性を示す統計が必要。」 と言われました(そりゃそうだ)。   文献を漁ると、マクネマー検定(McNemar’s test)とロジスティック回帰(Logistic regression)の組み合わせ […]

【Rで統計】オッズ比、P値、信頼区間

前回に引き続き、統計の備忘録。   例えば、カテゴリカル変数のXとYというデータの相関、オッズ比(超幾何分布による最尤推定値)、 95% 信頼限界などは、カイ二乗検定 odds.ratio() やフィッシャーの正確率検定 fisher.test() などでオッズ比(超幾何分布による最尤推定値)や 95% 信頼限界を求めることができるが、 下記のようなクロス集計表があった場合、 X1 X2 […]

【Rで統計】ロジスティック回帰分析

デスクワークをしながら、久しぶりにRを開きました。 私は最初、「言語さえ理解できれば応用が利く」と思って、統計にはRを利用していたのですが、周りの同僚達は皆、ラボが購入している統計ソフトを使っているので、最近はRから少し遠ざかっていました。 上司から、臨床よりのプロジェクトを一つ任されていたので、自宅で細々解析していたのですが、ラボの統計ソフトでは解析できないものも多く、ちょっと使いづらい……。 […]