【RStudio】environment 内のオブジェクトを一掃する
RStudioでは、実行したオブジェクト(ベクトル、リスト、データフレームなど)はそのまま “environment” の中に残り、再利用することができる。 Emvironment に残っているオブジェクトの確認方法 この environment に残っているオブジェクトは、そのオブジェクトを environment 内でクリックするか、 ls() で確認できる。 &nbs […]
RStudioでは、実行したオブジェクト(ベクトル、リスト、データフレームなど)はそのまま “environment” の中に残り、再利用することができる。 Emvironment に残っているオブジェクトの確認方法 この environment に残っているオブジェクトは、そのオブジェクトを environment 内でクリックするか、 ls() で確認できる。 &nbs […]
エクセルを使っている人達ならほぼほぼみんなお世話になっているであろう「相対参照」と「絶対参照」。 相対参照、絶対参照とは 通常、関数をコピペしたりオートフィルしたりすると、そのセルの場所から移動した分だけ自動的に計算して参照セルを変更してくれるけど、これを「相対参照(relative cell reference)」という。 で、場所を移動しても自動計算しないで同じセルを参照してほしいときには、「 […]
前回、ノンパラメトリックの2群検定の方法を書き留めておいたけど、 「よく考えたら、2群じゃなくて、2群x3群の6群でみなきゃじゃん。」 とゆーことに気づき、 多重比較のデータを追加した。 各グループが正規分布じゃないことは確認済みなので、今回は Kruskal-Wallis test(クラスカル・ウォリス検定)を選択。 Kruskal-Wallis test:kruskal.test() 比較グル […]
エクセルでマウスの管理をしているけど、マウスIDとは別に、実験用のID “experimental ID” を付けたい。 例えば、野生型マウス(WT)でオス(M)でSham手術(S)でインジェクションマテリアルがAD-tau(A)で3ヶ月後に観察(03)で、p03-32 というIDのマウスの場合、 「WTMSA03-0332」 とゆー感じ。 でも、いちいち手動でナンバリング […]
あるデータのリバイスで、患者さんが最後に認知機能検査を受けた時期から亡くなるまでの期間が解析グループで差があるんじゃないか、とレビューアーから指摘された。 なので、その期間が各群で差がないことを示す検定結果をつける事に。 対応のない2群比較の場合は、 正規分布で等分散 → Student t-test(スチューデントのt検定、パラメトリック) 正規分布で等分散/不等分散両方OK → Welchi& […]
あるデータのリバイスで、患者さんが最後に認知機能検査を受けた時期から亡くなるまでの期間が解析グループで差があるんじゃないか、とレビューアーから指摘された。 なので、その期間が各群で差がないことを示す検定結果をつける事に。 対応のない2群比較の場合は、 正規分布で等分散 → Student t-test(スチューデントのt検定、パラメトリック) 正規分布で等分散/不等分散両方OK → Welchi& […]
エクセルには、ワードに備えられている 「大文字、小文字、先頭のみ大文字 etc.」 を選択するボタンやショートカットがない。 ではどうするかというと、関数を使う。 大文字に変換:UPPER 関数 例えば、A1に “mom neuroscience” と入れて、全部大文字にしたものをB1に出力したい場合。 B1に =UPPER(A1) と入れる。 すると、全部大 […]
Rで列を追加する時は、 dplyr::mutate() を使っている。 mutate(列A+列B) のように計算式の結果を入れられるので便利だけど、文字列を入れる時はこんな感じ ▼ 例:Data というデータフレーム内で、 Age が “Young” or “Aged” Sex が “Male” or “Femal […]
R Studio を使っていてちょっと不便だなと思ったのが、VS Code で多用している Ctrl + Shift + L (カーソル上と同じ単語etc. を全選択) Ctrl + Shift + D (カーソル上と同じ単語etc. を一つずつ選択) と同じショートカット機能がないことです。 この機能に使い慣れている私にとってはかなり困る事象なんですが、普段から R Studio を使っている人 […]
認知機能の変化を、LBD, AD, LBD+AD グループ毎に、LATE(+)とLATE(-)で分けて示したいと思い、下記のようにグラフを作製。 ```{r fig.width=6} filter(Data, complete.cases(LATE)) %>% ggplot(aes(x=MMSEtoDeath, y=MMSETotal)) + geom_line(aes(group = IN […]
あるデータで線形混合モデルを使っていたときの話。 R の場合、参照グループは一番最初に分類されているグループと決められています。 例えば、 Group = factor(NA, levels = c("LBD-LATE(-)", "LBD-LATE(+)", "AD-LATE(-)", "AD-LATE(+)", "LBDAD-LATE(-)", "LBDAD-LATE(+)")) と論理型のレベ […]
あるデータフレームに論理型(factor)の列を追加しようとして、下記のように作成した。 Data <- %>% mutate(Group = factor(NA, levels = c("LBD-LATE(-)", "LBD-LATE(+)", "AD-LATE(-)", "AD-LATE(+)", "LBDAD-LATE(-)", "LBDAD-LATE(+)")) そして […]
ある病理のスコアで、Brainstem (BS) が NA の項目があったので、 “Midbrain(MB) と Pons(Pons) と Medulla (Med) のどこかで 1 以上のスコアがあったら、BS = 1, それ以外だったら BS = 0” としたくて、下記のようにコードを書いた。 z <- which(is.na(Data_all$BS)) Data […]
データフレームに列を追加する時の方法2つ。 dplyr::mutate() 普段は dplyr パッケージの dplyr::mutate() を使っている。 文字列は ” ” で括って追加する。 mutate(列名 = c("文字列1", "文字列2",....), データフレーム名) base::transform() Rの標準パッケージだと、 transform() を […]
文字列を繋げるときには、paste(), paste0(), str_c()などを使う。 paste()とpaste0()は、Rの標準パッケージ(base)。 str_c()は、stringrパッケージの関数。 baseとstringrの違いの詳細は、下記参照。 以下、それぞれの使い方と、使用例、ポイントの比較等のまとめ。 paste() paste()は、文字列を結合する最も基本的な関数。スペー […]
久しぶりにイラストレーター。 例えば、下のようなグラフの「ドットの大きさだけ大きくしたいなー」と思った場合、 同じ性質のオブジェクトを選択 個別に変形 機能を使えば簡単に変形できる。 同じ性質のオブジェクトを選択 1.ドットの一つを選択し、「選択」タブから「共通」を選択。 2.変更したいオブジェクトに共通な性質を考え、 塗りと線 カラー(塗り) 不透明度 カラー(線) 線幅 などを選択する。 今回 […]
“longer object length is not a multiple of shorter object length” のエラーメッセージが出たら、 それは、指示したベクター同士の長さがあっていないという事。 例えば、 x = c(1,2,3,4,5) y = c(1,2,3,4,5,6,7,8) z = x + y と指示した場合、ベクターxとベクターyの長さ […]
例えば作表の際、列名に「(N = 数字)」という情報をいれたくて、数値は計算式で出したい場合、 stringr::str_c() 文字列操作はstringr パッケージで。 stringr の特徴 処理速度が速い。 関数が全て “str_” で始まる。 パイプ(%>%)で連鎖しやすい。 R標準にはない機能も色々追加されている。 stringr パッケージは tidyv […]
Rにはベクトル専用の関数が多く用意されている。 例えば、 sum() :合計を求める mean() :平均値を求める median() :中央値を求める etc. この時注意したいのが、データフレーム内に「NA」があると、計算結果が全て「NA」になってしまう。 この現象を回避するため、 「ベクトルに含まれている NA を無視する」 という指示を記載しておくと良い。 na.rm = T […]
ある日、今までサクサク動いていた “Run All Chunks Above” ボタンが、全く反応しなくなりました。 Ctrl+Alt+Shift+P を押してもダメだし、 右上の、”Run” タブから “Run All Chunks Above” を選択してもダメ…… “Run Current Ch […]
例えば、あるデータ(Data)内に Alzheimer’s disease neuropathologi change (ADNC) の項目があり、 そのデータフレームに ADNC=”Not” と ADNC=”Low” → ADcopth=”NotLow”、 ADNC=”IntermediateR […]
R で小数点第○○位まで出したい、というときは、Excel でもおなじみの Round 関数が使える。 round(データ, 桁数) round(0.12345, 3) output 0.123 ただこれだと、小数点以下の最後が 0 だった場合、0 より手前までしか表示されない。 round(0.12000, 3) output 0.12 これを、”0.120″ […]
R Markdown で Knit しようとしたら、下記 warning が出て止まった。 Error in match.names(clabs, names(xi)) : names do not match previous names コードをみると、rbind しようとしていた2つのデータの列の名前が一致していない……ということらしい……。 Data_all <- rbind(Dat […]
ある時から、iPhone の通信マークがずっとぐるぐるして(spinning gear)、インターネットに繋がらなくなりました。 Wi-Fi に繋いでいたら普通に使えるので、問題は LTE/4G にあるよう…… 一般的な解決方法 ネットで調べると、同じような不具合に遭遇している人は多いようで、いくつか解決策が載っていました。 通信マークがずっとぐるぐるして繋がらない場合の一般的な解決 […]
相変わらず R でデータ整理中。 今回は、データベースに記載されている 1+, 2+ などのスコアを数値 1, 2… に変換し、データ型を数値型に変更する方法。 データベースから落としてきたときは、下記のようになっている。 これをそのまま R に取り込むと、文字列として認識される。 全ての文字列を数値化し、中央値とか出しておきたい。 データフレーム内の特定の文字列全てを数値に変換 まず […]
賢威8.0 では、投稿記事の日付を、 表示しない 投稿日と更新日を表示する 更新日を表示 投稿日を表示 の4種類から選択できる。 日記的要素が強いブログなら、「投稿日」の方が意味があると思うけれど、 情報発信系ブログなら、(読者は最新の情報を求めているので)「更新日」を表示したいところ。 「投稿日と更新日を表示する」にすると、記事内では両方表示されるけれども、Google の検索画面 […]
便利なパイプ演算子 %>% ……の覚書。 パイプ演算子とは パイプ演算子は、左辺のオブジェクトを右辺の関数に入れる機能を持つ演算子。 %>% %>%はtidyverseに含まれているパイプ演算子。%>%の左にあるデータを右の関数の第一引数に渡す役割を担う。 |> |>はR 4.1.0以降で備わっているパイプ演算子。 ・ ・ ・ 今回は […]
R は色々なグラフィックスが作れて嬉しくなる。 作成した図表をそのまま R Markdown で出力できるのも魅力の一つだが、場合によっては、別のソフトで編集したいときも。 私の場合、Figures 等を作るときの最終的な整形は illustrator を使っている。 この時、R のグラフを EPS ファイルでの出力が必須。 後の編集が断然しやすい。 EPS ファイルで出力する方法: […]
医学臨床系論文の Table 1. は、たいてい “Patient Demographics”… その “Table 1” を作るために非常に便利な R パッケージ: tableone。 基本的な使い方は、下記参照 ▼ 今回はちょっと躓いたところと、その解決法を書き留めておく。 tableone を使う時に躓いた事とその解 […]
R にデータを取り込んで、そこから最初に行う作業の備忘録。 データのインポート 私は、データベースからエクセル (.xlsx) でデータを取得し、それを R に取り込む場合が多い。 エクセルの取り込みは、 readxl::read_xlsx(ファイル名.xlsx) で行う。 そのままファイル名を指定:同じフォルダ内にデータがある場合 R ディレクトリと同じフォルダにデータがある場合は、そのままファ […]
最近リバイスが返ってきて、データ整理に追われ中…… n数を増やす目的等で他から持ってきたデータを結合させた時の備忘録。 dplyr::join dplyr パッケージの join 関数を使う。 join 関数は4種類。 full_join inner_join left_join right_join この中で一番多く使っているのは left_join と full_join right_join […]
先日、同僚のプレゼンテーションで、Adobe Acrobat のスクショ機能を使って貼り付けたであろう画像がぼやけていたので、 改善方法を伝えたらとても感謝された。 個人的には最近ほとんど使わなくなった Adobe Acrobat のスクショ機能だけど、世の中にはコレで慣れていて、かつ彼女と同じような症状で悩んでいる人もいるかもしれないので、ここに方法を記録☆ Adobe Acrobat のスクリ […]
ある時、R でコードを打つ度に、”R code execution error” という warning sign に遭遇するようになりました。 普通に仕事は進められるけど、警告の度に作業がストップされるので、ちょっと annoying… 対処法について調べると、下記に答えが。 R の再起動 (d.g. .rs.restartR()) […]
一つのテーマで複数のグラフを作るときには、フォーマットをあわせたくなるのが心情。 でも、一つ一つフォーマットを作り直していたら時間が勿体ない。 そんな時便利なのが、「グラフのフォーマットをコピペする」方法。 グラフのフォーマットをコピペする方法 例えば、下記のような2つのグラフを作製し、左にある ”Hippocampal Sclerosis” のグラフ形式を右にある ”Brain We […]
下記のようなデータフレームがあり、この表の行名(左側の列)と列名(一番上のヘッダー行)とを変更したい場合。 Estimate Std. Error Pr(>|z|) OR CI_low CI_high (Intercept) -1.160 2.883 0.687 0.31 0.00 89.13 Age 0.003 0.027 0.915 1.00 0.95 1.06 Sex 0.433 0. […]
脳内にある、特定の遺伝子やタンパクの発現量をみるとき、いくつか方法があるけど、個人的によく使うサイトを書き留めておく。 主にはmRNAレベル。 脳の部位別発現量をみたいとき 使っているのは「Allen Brain Atlas」 マウスの場合 マウスのページを開く ページの検索欄に、確認したい遺伝子名を入れて「Search」をクリック。 coronal, sagital など、色々な in situ […]