CATEGORY

R

【RStuido】パッケージをアップデート

古いバージョンのパッケージを使っている場合、互換性の問題を引き起こす事がある。 この場合、update.packages()でパッケージをアップデートすると良い。 update.packages() アップデートが必要なパッケージをどんどん見つけ出してくれる。 「UPDATEしたい?」と聞かれるBOXが現れるので、「YES」とすれば、自動でアップデートしてくれて便利。

【Rトラブルシュート】undefined columns selected

grepで特定の行を抽出しようとして下記コードを書いたら、 data=c <- Data[grep("Int", Data$ADNC, invert=T)] 下記メッセージ。 Error in `[.data.frame`(Data, grep("Int", Data$ADNC, invert = F)) : undefined columns selected   あれ?と思って […]

【Rデータ整理】行の抽出:filter

データフレームから、dplyr::filter()を使って、特定の行を抽出する方法。 今回は、下記データ(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 T […]

【Rデータ整理】行の抽出:grep ✕ 正規表現

データフレームから、grepを使って、特定の行を抽出する方法。 今回は、下記データ(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 AD […]

【Rデータ整理】列の抽出:[ ]を使う

[ ] (square brackets)を使って、各要素にアクセスする方法は、下記参照。 この基本を使って、データフレームの列を抽出する。 今回は、下記データ(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 Hig […]

【Rデータ整理】行や列の抽出:[]を使う

[ ] (square brackets)を使って、各要素にアクセスする方法は、下記参照。 この基本を使って、データフレームの行や列を抽出する。 今回は、下記データ(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 H […]

【Rで作図】棒グラフを作る

以下に示すのは、ggplotを使って、平均値で棒グラフを作る方法。 前準備 パッケージのインストール あらかじめ、必要なパッケージをインストールしておく。 library(tidyverse) library("ggplot2") データフレームのインポート 使用するデータフレームをインポートする。 今回は、任意の場所に作っておいたxlsxファイルを使用。 # xlsxファイルの読み込み Data […]

【Rデータ整理】R標準パッケージ(base)とstringrパッケージの比較

Rで文字列操作を行う際に、標準パッケージ(baseパッケージ)やstringrパッケージを使っていることが多いと思う。 私の周囲にはstringrを好む人が多いけれども、実際、どちらを使った方がよいのか、調べてみた。 R標準パッケージ、stringrパッケージの比較 標準パッケージ (base R) メリット 追加インストールが不要:どの環境でもすぐに使用可能。 小規模データでは、実行速度が速い: […]

【RMarkdownトラブルシュート】Error: Functions that produce HTML output found in document targeting docx output.

とあるR Markdownファイルをdocx形式で出力しようとしたところ、以下のエラーが発生した。 Error: Functions that produce HTML output found in document targeting docx output. HTML出力を行う関数がdocx出力を行うドキュメントに含まれているため、エラーが発生しているとのこと。 これ、YAMLヘッダーにal […]

【RStudio】Docker で RStudio Server の構築

Hyper-V に Ubuntu 22.04 LTS を入れて RStudio Server を利用していたけど、SSH のところで引っかかって、手元の Laptop PC から繋げなくなったりした。 ネット上のトラブルシューティングは色々試してみたけど、後一歩 work せず、「これを使うにはちょっと知識不足だなー。」と感じて一旦リセット。ネットワークエンジニアリング的な事を調べる事自体は楽しい […]

【RStudio Server】Ubuntu で RStudio Server の構築

以前、RStudio Cloud を導入して使用していたが、使用限度などの問題があり、なんだかんだと使い辛さを感じるようになってきた。 なので、しばらく敬遠していた RStudio Server 環境作りに着手することにした。 RStudio Server を使うメリット 計算端末と操作端末を分離できる RStudio Server を、ハイスペックのローカルPCに導入しておけば、R のスクリプト […]

【Rで統計】正規分布とrnorm, dnorm, pnorm, qnorm

Rを使った正規分布関連の覚書。 正規分布 (normal distribution) とは 正規分布とは、平均値と最頻値・中央値が一致し、それを軸として左右対称となっている確率分布。 多くの統計的手法において、データが正規分布に従うことを仮定している。 正規分布の特徴 紡錘形 左右対称 平均値と中央値が中央で一致している 「平均」と「分散」が重要 正規分布の68-95-99ルール 約68%のデータ […]

【Rベーシック】If 構文

if 構文、if else 構文、if else if 構文の覚書。 If 構文 iF 構文は、他の反復 構文と同じく、 if (条件){処理} で表す。   例1:rnorm の標準正規分布で出てきた数値が正の数だったら、”Greater than 1″ とプリントする。 “rnorm” は、正規分布の値から無作為に数値を抽出する関数。 […]

【Rベーシック】空ベクトル etc.を作る

データフレームの要素などにあてがう時は、空vectorなどを先に作っておき、そこに処理結果を書き込むようにする。 空のvectorやlistを作る場合は、 vector() 、data frameの場合は matrix() と data.frame() を使用して作成。 空ベクトル (Empty Vector) vector(mode = X, length = Y) mode は データ型 do […]

【Rベーシック】For ループ

For ループは「仕事を反復 (iterate) する」ループ機能の一つ。 for(条件){処理} で表す。 前回紹介した While ループと違うのは、()内に繰り返す回数が入る事。 For ループの書き方と While ループとの違い 例1:”Hello”とプリントする。 while ループだと、 # TRUEだったら"Hello"とプリントする。 while(TRUE […]

【Rベーシック】While ループ

while ループでは、ある条件式が与えられると、その条件式が偽になるまで処理を繰り返し続ける構文。 while(条件){処理} で表す。 Rではapplyファミリーで代用できるし、速度も遅いので、他の言語ほどは while loop を使わない。 でも、基本は知っておく必要がある。 永遠に繰り返す while ループ 例1:TRUEだったら”Hello”とプリントする # […]

【Rベーシック】リスト (List) を作る

リストは異なるデータ構造を複数個格納することができるデータ構造の事。 Vector, Matrix, DataFrameなども混ぜて格納できる。 リスト (List) を作る list は list() で作成する。 my_list <- list( v=c(1,2,3,4,5,6), v2=c("a","b","c"), m=matrix(1:6, ncol=2), df=data.fra […]

【Rベーシック】データフレーム (Data Frame) を作る

データフレーム (data frame) の作り方色々。 データフレーム (Data Frame) とは データフレームは list の2次元バージョン。 データサイエンスで最も多く使用される。 データフレームにはここのベクトルをまとめて2次元の表にする。 ここの vector は表の中の “列” になる。 それぞれの列は異なる型のデータを格納できるが、同じ列内は vect […]

【Rベーシック】行列 (Matrix) を作る

行列 (Matrix) の作り方。 行列 (Matrix) とは matrix は線形代数の行列と同じように、2次元配列に値を格納する。   Matrix を作る 行を指定する場合 matrix を作る時は、行列に再構成する vector を渡し、さらに nrow 引数に数値を渡して行列の行数を定義する。 すると matrix は指定された行数の行列になるように vector を再構成す […]

【Rベーシック】ベクトル (Vector) を作る

ベクトル (vector) の作り方。 ベクトル (Vector) とは vector は1次元ベクトルとして値を格納する。 イメージは、「1列のデータセット」。 例えば、下記の場合、Boxの中にそれぞれ数値が入っている。 これは、左から1,3,7,11,14という数字が格納された vector。   vector の中身は、数値でもいいし、文字列でも良い。 だたし、数値と文字列の混在の […]

【Rデータ整理】1列目を行名に指定する:rownames

例えば、下記データフレームを作る。 # データフレームを作成 df <- data.frame( x = c("A", "B", "C"), y = c(1, 3, 5), z = c("Apple", "Banana", "Cherry") ) # データフレームを表示 print(df) output > print(df) x y z 1 A 1 Apple 2 B 3 Bana […]

【Rデータ整理】データの中身(構造)を確認する:str

データをインポートしたらまず始めにする作業。 今回は、同じ階層にある”my_Data”というエクセルファイルをインポート library(readxl) Data_C <- readxl::read_xlsx("../my_Data.xlsx")   str()でデータの中身を確認する。 str(Data_C) output tibble [1,052 × […]

【Rデータ整理】1行目を列名に指定する:colnames

下記のようなデータが得られて、 1行目の値を列名に宛てがいたい場合。 colnames() で列名を1行目に指定した後、1行目を削除する。 colnames(df7) <- df7[1,] df7 <- df7[-1,]     リンク リンク リンク リンク

【Rデータ整理】行の並び替え:arrange/order/sort

下記のようなデータフレーム(df)があり、行を昇順or降順で並べ替えたい時。 私が使いやすいと思う順で arrange() , order , sort() の使い方を書き留めておく。 dplyr::arrange() 関数 arrange() はdplyrのパッケージの中に入っている。 install.packages("dplyr") library(dplyr) 昇順で並べ替え 方法は、 a […]

【Rデータ整理】重複する列を削除:distinct

下記のようなデータがあって、 “Deceased” が “True” と “False” と入力されている症例がそれぞれどれくらいずつあるか count(group_by()) で求めると、 Dat1 <- read_xlsx("./Data/test.xlsx") %>% rename(OldestCDR = ' […]

【Rデータ整理】特定の条件を満たす行数をカウント

例えば、下記のようなデータがあって、 “Deceased” が “True” と “False” と入力されている症例がそれぞれどれくらいずつあるか知りたい時。 count(group_by()) で求める。 Dat1 <- read_xlsx("./Data/test.xlsx") %>% rename(Olde […]

【Rで作図】グラフの背景を変更する

下のようなグラフがあって、この背景を変更したいとき。 themeで変更する。 グラフの背景の変更 白 theme_classic() グレー+格子(白) theme_gray() 白+格子(グレー) theme_bw() 白+格子(黒) theme_linedraw() 白+格子(薄墨) theme_light() ダークグレー+格子 theme_dark() 白+格子(外枠なし) theme_m […]

【Rで作図】レジェンドのタイトルを消す

ggplot2でグラフを作っていて、「レジェンドは要るけど、レジェンドタイトルは消したいな」と思って消した時の備忘録。 使う関数は「theme」のlegend.title = element_blank。 theme(legend.title = element_blank()) 無事に消えた。 全体のコードは下記。 ggplot(Data2, aes(x = Age, y = `XX posit […]

【Rで作図】facet のタイトルのフォントサイズを変更

グラフを作っていて、「Facetのタイトルのフォントサイズを変更したい」と思って消した時の備忘録。 themeに”strip.text = element_text(size = ○○)”でサイズを指定すればOK。 theme(strip.text = element_text(size = 20)) size=20で追加してみたら、フォントサイズが大きくなった。 &nbs […]