CATEGORY

R

【GitHub】commit & push(RStudio Terminal / Git Bash)

RStudio の Terminal から GitHub にコードを反映する方法の覚書。   もちろん、Git Bash でも使える。 RStudio の反応が悪い時には、Git Bash から送信したほうが早い場合も多い。 今回は、研究コード管理で頻用する commit → push(Terminal編) をまとめておく。 GitHubに変更を反映する(commit & push)の基本 […]

【RStudio】作成済みの GitHub リポジトリを URL 経由で RStudio に Clone する

RStudioとGitHubを連携させて使えるようになるまでの道のり。 今回は、GitHub に作成していたリポジトリを RStudio に Clone する方法。 作成済みの GitHub リポジトリを RStudio に Clone する GitHub リポジトリの URL をコピーする GitHubに移動し、左上のGitHubのアイコンをクリック。 任意のリポジトリを選択。 リポジトリ画面に […]

【RStudio】RStudio のプロジェクトを URL 経由でGitHub と連携

RStudioとGitHubを連携させて使えるようになるまでの道のり。 前回、RStudioとGitとの連携まで行った。 今回は、RStudioとGitHubとの連携まで。今回はURLを使う方法(SSHより簡便。) 事前準備 事前準備として必要な事リスト RとRStudioのインストール Gitのインストールと初期設定 GitHubアカウントの作成 RStudioとGitとの連携 方法は下記参照。 […]

【GitHub】リポジトリを作成

RStudioとGitHubを連携させて使えるようになるまでの道のり。 GitHubでリポジトリ(Repository)を作成 GitHubのアカウントへ移動し、Dashboardの左上にある「New」ボタンをクリック。 Repository nameをつける(今回は”test”) PublicかPrivateを選択。 Publicにすると全世界に公開される。Private […]

Rで使う正規表現の色々

Rでよく使う正規表現のパターンを、カテゴリー別に整理してみた。 Rで使用する正規表現いろいろ 文字の検索・位置指定に関するパターン パターン 説明 例 ^ 文字列の先頭を指定 ^Hello は “Hello World” に一致 $ 文字列の末尾を指定 World$ は “Hello World” に一致 \\b 単語の境界 (word bounda […]

【RMarkdownトラブルシュート】Error: pandoc document conversion failed with error 1

RMarkdownをwordファイルにknitしようとしたとき、下記エラーメッセージが出て止まってしまった。 Error: pandoc document conversion failed with error 1 このエラーは、pandocが出力ファイル(Wordドキュメント)を作成または上書きする際にアクセス権限の問題が発生していることを示している。   で、なんで問題が発生してい […]

【RStudio】RStudio に GitHub Copilot と chattr を取り込む

RStudioにCopilotとchattrを導入すると、かなりの時短につながり、一度取り込むと、元には戻れぬ……。 双方の得手不得手は、こちらの比較サイトを参照 ▼   GitHub CopilotとChatGPTのざっくりとした違い GitHub Copilot Copilotは、GitHubのAIによるコーディングアシスタント。 色々と機能はあるけれど、最も重宝されている機能は、I […]

【RStudio】GitHubのブランチ(Branch)を作って作業する

RStudioとGitHubを連携させて使えるようになるまでの道のり。 前回までに、RStudioとGit/GitHubとの連携が終了し、RStudioとGitHub間のコードのやり取り(Pull/Push)を行いました。 もう一人用のアーカイブとしてはこれで十分だと思いますが、一応、ブランチの作成までさらっと記録に残しておきます。 ブランチ(Branch)を作る必要性のある場面 ブランチが威力を […]

【RStudio】GitHubのリポジトリからRStudioに「Pull」

RStudioとGitHubを連携させて使えるようになるまでの道のり。 前回までに、RStudioとGit/GitHubとの連携が終了し、RStudioで作成したコードをGitHubに送りました。 今回は逆に、GitHubからコードを取得する方法。 準備1:各種インストールと相互連携 事前準備として必要な事リスト RとRStudioのインストール Gitのインストールと初期設定 GitHubアカウ […]

【RStudio】RStudioで作成したスクリプトを「Commit」→「GitHubにPush」

RStudioとGitHubを連携させて使えるようになるまでの道のり。 前回までに、RStudioとGit/GitHubとの連携が終了しました。 今回からいよいよ、RStudioのスクリプトをGitHubに送ったり、逆にGitHubからスクリプトを取得したりします。 事前準備 事前準備として必要な事リスト RとRStudioのインストール Gitのインストールと初期設定 GitHubアカウントの作 […]

【RStudio】RStudio のプロジェクトを SSH 経由でGitHub と連携

RStudioとGitHubを連携させて使えるようになるまでの道のり。 今回は、RStudioとGitHubとの連携まで。今回はSSHを使う方法。 事前準備 事前準備として必要な事リスト RとRStudioのインストール Gitのインストールと初期設定 GitHubアカウントの作成 RStudioとGitとの連携 方法は下記参照。 SSHの設定 GitHubと接続する際、HTTPSを使う方法と、S […]

【RStudio】RStudio を Git と連携

RStudioとGitHubを連携させて使えるようになるまでの道のり。 RStudioとGitHubを連携させて使えるようになるまで RとRStudioのインストール Gitのインストール RStudioの情報をGitへ伝える(Configuration) RStudioでローカルリポジトリの作成とGitの「Initial commit」 GitHubのアカウント作成 SSH鍵の設定と認証(※op […]

【Rで作表】{knitr}パッケージのkable()と{kableExtra}パッケージの組み合わせ

作表で使われるのは、{knitr}パッケージのkable()(=kbl())と{kableExra}パッケージの組み合わせや、{gt}パッケージ等。 臨床論文の最初に出てくる「Table1」を作るときにはtableone()も便利。   今回は、{knitr}パッケージのkable()(=kbl())と{kableExra}パッケージの組み合わせについての備忘録。 kbl()で作表 kb […]

【R Markdown】コードを隠す

例えば、R Markdownで簡単な表を作った場合、 ```{r} df_6h <- data.frame("1"=c("Cont_6h_1","LPS_6h_1"), "2"=c("Cont_6h_2","LPS_6h_2"), "3"=c("Cont_6h_3","LPS_6h_3")) rownames(df_6h) <- c("A: Cont", "B: LPS" ) coln […]

Git/GitHubの環境構築

これまで、Rのスクリプトやプロジェクトの管理を、職場のサーバーに諸々保存して、リモートデスクトップで編集して、、、とゆー感じでやっていました。 けれど、新しい職場はセキュリティ対策的なもので、しょっちゅうネットワークがリセットされるし、繋がらなくなったりするし⋯⋯で、仕事のパフォーマンスがだだ下がり orz…。 でも、今更自宅にサーバーを構築するのも時間かかるし⋯⋯とゆーことで、以前ア […]

【Rトラブルシュート】Error: package or namespace load failed for ‘tidyr’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]): namespace ‘cli’ 3.3.0 is already loaded, but >= 3.6.1 is required

”tidyverse”のfunctionがない、というエラーメッセージが出たので、アンインストール/再インストールを試みた。 remove.packages("tidyverse") install.packages("tidyverse") library(tidyverse) するとここでまたエラーメッセージ。 Error: package or namespace load fa […]

【Rデータ整理】特定の文字を含む行を抽出:grepl()

文字列に特定の文字が含まれている行を抽出したい場合、grepl()を使うと便利。 grepl()の特徴 grepl()は、文字列に特定のパターンが含まれるかどうかをTRUE/FALSEで返す。 データフレームの行抽出の際に便利。 特定の文字を含む行を抽出:grepl() データフレームの作成 以下のようなデータフレームを作ってみる。 # サンプルデータフレーム df <- data.fram […]

【Rで作図】軸を切断して途中を省略し、軸幅の割合を変える

ggplotで作った下記グラフ、一番高いバーのせいで、低いバーが見えにくくなっている。 なので、途中で棒をぶった切って、中間部を省略し、さらに上の方は間隔を狭めたい。 ……と思った時の備忘録。 軸を切断して途中を省略し、軸幅の割合を変える 使う関数は、scale_y_break()。 軸を切断して途中を省略する 試しに、15から19までを切断して省略してみる。 scale_y_break(c(15 […]

【Rデータ整理】行や列の抽出:subset

データフレームから、subsetを使って、特定の行や列を抽出する方法。 今回は、下記データ(Data)を使用。 > print(Data) ID Cohort Sex Age ADNC LBDSubtype 1 149 LBD M 83 Low BP 2 634 AD M 78 High DN 3 632 AD F 75 High BP 4 901 LBD M 74 Not TL 5 621 […]

【RStudio】RとRStudioのインストール

Rは統計解析等に強いプログラミング言語。 RStudioは、Rを使うための総合開発環境(IDE)の一つ。 両方とも無料でダウンロードできる。 Rのダウンロード/インストール Rのダウンロード CRANウェブサイトへ。 私はWindowsを使っているので、「Download R for Windows」を選択。 (Macの場合は「Download R for macOS」, Linuxの場合は「Do […]

【Rで作図】Y軸タイトルを2列にする

ggplot2でグラフを描いたとき、Y軸タイトルを長ーくすると、2列に降りたくなる。 ▲ グラフの中にY軸タイトルが収まりきれない。。。 その方法の備忘録。 Y軸タイトルを2列にして、位置を調整する 正規表現「\n」で改行する。 # Y軸タイトルを2行に labs(x = "", y = "Thickness of the CA1 \n (ventral hippocampus) [μm]") 2 […]

【RMarkdown】チャンクオプションの色々

R Markdownのチャンクオプション(include など)は、コードチャンクやその出力の表示方法および動作を制御するために用いる。 これにより、レポートの構成や内容を柔軟にカスタマイズすることが可能となる。 RMarkdownのチャンクオプション色々 include オプション チャンク全体を出力に含めるか否かを制御するオプション。 include = TRUE: チャンクのコードと結果を出 […]

【Rデータ整理】マッチするかどうかを返す:str_detect/grepl

特定の条件にマッチするかどうかを判定する関数には、str_detect() と grepl()を使うことができる。 str_detect() は stringr パッケージの関数で、grepl() はRの標準パッケージ(base)。 どちらとも正規表現が使える。 シンプルな検出なら grepl() でもよいけれど、str_detect()の方が汎用性が広いので、こちらをよく使っている。 また、st […]

【Rデータ整理】文字列のマッチする箇所の数を返す:str_count

str_count(string, pattern) は、文字列内に正規表現pattern がいくつ出現するかをカウントする関数。 この関数は、stringr パッケージに含まれているので、まずは、library(stringr) でパッケージを読み込む。 install.packages("stringr") library(stringr) str_count() str_count()の基本 […]

【Rデータ整理】文字列を繰り返し複製する:str_dup/strrep

文字列を繰り返し複製する時には、str_dup() と strrep()などを使う。 str_dup():stringrパッケージの関数で、ベクトル化が簡単、使い方が直感的。 strrep():base R (標準関数)の関数で、追加パッケージのインストールは不要。   類似の関数にrep()があるけど、これは、ベクトル全体を繰り返すのに使う。str_dup()とstrrep()は文字列 […]

【Rデータ整理】文字列のフォーマットを変更する:str_to_upper/str_to_lower/str_to_title/str_to_sentence

文字列のフォーマットを変更する時には、stringrパッケージに含まれているstr_to_upper(), str_to_lower(), str_to_title(), str_to_sentence()等を使う。 文字列のフォーマットを変更する関数 大文字にしたい → str_to_upper() 小文字にしたい → str_to_lower() タイトルケースにしたい → str_to_ti […]

【Rデータ整理】文字列vector要素を繋げて1つの文字列にする:str_flatten/paste0

あるvectorの要素を繋げて一つの文字列にしたい場合、str_flatten()やpaste0()を使う。 どちらも文字列を結合(連結)するための関数だけれど、使い方や挙動にいくつかの違いがある。 str_flatten() str_flatten() は、stringrパッケージの関数で、ベクトル内の要素を1つの文字列に結合するために使う。 ベクトル内の各要素を、collapseの区切り文字で […]

【Rデータ整理】文字列の抽出や置換:str_sub/substr

文字列を部分的に抽出したり、置換したりするときには、R標準パッケージ(base)のsubstr()、もしくは stringrパッケージならstr_sub()を使う。 substr()とstr_sub()の違い substr() は、Rの標準関数で、インストール不要でどこでも使える。 str_sub() は、stringrパッケージの関数で、可読性が高く、機能が充実。   実際には、以下の […]

【Rデータ整理】文字列の長さを数える:str_length/(nchar)

文字列の中の文字数をカウントする方法としては、R標準パッケージ(base)に含まれるnchar()関数や、stringrパッケージのstr_length()関数等を使う。 ここでは主にstr_length()関数についてまとめておく。 str_length() str_length() の基本構造 str_length(string) 引数 string: 文字列または文字ベクトル。str_len […]

【Rデータ整理】データフレームの結合:dplyr::join

2つのデータフレームを結合するときには、dplyr::join()関数を使う。 join()関数は、dplyrパッケージの関数なので、まずはdplyrパッケージをインストールして読み込む必要がある。 install.packages("dplyr") library(dplyr) ただし、join()という関数自体はdplyrには存在せず、inner_join()、left_join()、righ […]

【Rデータ整理】rownames()の使い方色々

Rのrownames()関数は、データフレームや行列(matrix)の行名(row names)を取得または設定するための関数。 基本的な使い方 行名を取得する rownames(データフレームまたは行列) 例: df <- data.frame(A=1:3, B=c("X", "Y" , "Z" )) rownames(df) # 行名を取得 output [1] "1" "2" "3" […]

R標準パッケージ(base)とstringrパッケージはどちらが速いのか?

前回、R標準パッケージ(base)とstringrパッケージの比較をしてみて、「処理速度は、場合によってはbase、場合によってはstringrの方が速い」ということがわかった。 で、具体的にどのときにbase、どのときにstringrが速いのか、調べてみた。 処理速度に関する違い stringr の方が速い場合 ベクトル化された処理が可能なため、stringrの方が速くなることがある。 一貫した […]

【Rベーシック】リスト (List) を他の型に変換:unlist()

とあるデータをインポートし、数セル分だけ抽出。 # データのインポート df1 <- read_excel("Data/data.xlsx", sheet="mom" ) df2 <- filter(df1, df1$...3=="Unknown" ) RefGene <- df2[df2$...5=="GAPDH" , "...6" ] ここでRefGeneはリスト型で返ってく […]