R
gpplot2と組み合わせて威力を発揮するscales 1.2.1.9000の関数一覧です。俯瞰するためのものです。 分類された読みやすい詳細はScale Functions for Visualization • scalesのFunction reference • scales、CRANのリファレンスマニュアルをご確認ください。 …
qqplotrのプロットをpurrrで結合してpatchworkで表示するコードです。要は次の図を関数主体で作成するコードです。 コード コードの説明 qqplotrパッケージとqqplotr::stat_qq_*関数 ggplot(data, aes(...=!!sym(変数))) | コード library(purrr) library(gg…
xlsxファイルでテーブルの名前からデータを読み込むコードです。テーブルの名前からシート名とA1形式範囲の取得はopenxlsx、シート名とA1形式範囲の読み込みにはreadxlを使用しています。 カレントディレクトリに「テーブル1」テーブルを持つxlsxファイルを…
Rの自分用チップスです。ちょっとずつ増やしていきたいです。 ベクトルの末尾/先頭N個以外を取り出す ベクトルのインデックスベクトルを安全に返す。 文字列ベクトルを変形する パッケージの関数名一覧を返す。 Rのベースパッケージを検索する summary(lm(.…
Rとtidyverse 1.3.1でtibbleに条件分岐で列を追加するサンプルコードです。case_whenは%>% case_when(条件式~値, ...)の形式で条件を満たす値を返します。最後のTRUE~NA_real_はどの条件にも一致しない要素の値を指定しています。NA_real_がNAではないのはca…
きっかけ オリンピック意向調査の結果を見ようと札幌市のウェブサイトを検索していたら住民基本台帳の閲覧状況が見つかりました。行政機関に混じって野村総研が混じっていることが気になったので概要を確認してみました。 結論 委託者の多くは行政関係(NHK…
tidyverseではmutate_at関数で列を指定して列単位で変換できます。ここでは列選択の方法をいくつか紹介します。 library(tidyverse) data <- as_tibble(iris) # 3列目以降の列を文字列に変換したtibbleを作成する。 # 整数範囲または`vars(n:last_col())`を…
filterはデータフレームの行選択、keep/discardはベクトルの要素選択です。 require(dplyr) require(purrr) 1:5 %>% keep(~. %% 2 == 0) # [2, 4] 1:5 %>% discard(~. %% 2 == 0) # [1, 3, 5] tibble(A=1:5, B=11:15) %>% filter(A %% 2 == 0) ## A tibble: …
変数の数 使う変数 リスト integerベクトル doubleベクトル characterベクトル logicalベクトル raw データフレーム 無視(元の値) 1個 . .x ..1 map map_int map_dbl map_chr map_lgl map_raw map_dfc, map_dfr walk 2個 . .x .y ..1 ..2 map2 map2_dbl ma…
purrrパッケージに存在する関数の名前を取得するコードです。ついでに非関数の名前も取得します。 # purrrパッケージに存在する関数の名前を取得する。 require(purrr) x <- lsf.str("package:purrr") print("purrrパッケージの関数:") print(as.character(…
purrr::map系関数はformula(~...)で式を与えられます。引数は.、.x、..1のどれでも指定できます。 require(purrr) 1:10 %>% map_dbl(~.+1) 1:10 %>% map_dbl(~.x+1) 1:10 %>% map_dbl(~..1+1) #> [1] 2 3 4 5 6 7 8 9 10 11 purrr::map2系関数やpurrr::pma…
purrr::map_int関数が単純な足し算で失敗したとき、数値リテラルの型が原因かもしれません。 次のコードで(1)はエラー、(2)は成功します。違いは足す数が1か1Lかです。 require(purrr) 1:10 %>% map_int(~.x+1) #> Error: Can't coerce element 1 from a dou…
Rでアルファベットの文字列配列を得るには組み込み定数とstrsplit関数が使えます。タイプミスが防げるため、基本的には前者が推奨されます。以下にコードを示します。 #組み込み定数 #普通はこちらを使います。 LETTERS letters #strsplit #2番めの引数に""…
tidyverseパッケージの後でmagrittrパッケージを読み込むとextract関数が上書きされます。magrittr::extract関数の仕様により、magrittrなしのつもりで呼び出してもエラーを発生しないのでかなり気づきにくいバグが生まれます。conflictedパッケージを使うか…
tidyverseのtibbleの行を整数範囲で伸ばす方法です。seq関数で作成した適当な整数範囲をtibbleにして、full_join関数で結合することで行を伸ばしています。full_joinの左側に整数範囲のtibbleを指定すれば順番が指定されるので、ついでに昇順並び替えと欠損…
ベクトルから開始位置をずらした等長のベクトルを作成して関数を呼び出すコードです。dplyr (tidyverse)を使用しています。 require(dplyr) # ベクトルのstart個めとそこからdiff個ずらした2個の配列のデータフレームを返します。 vec_shifted_tibble <- fun…
本文 formula()で引数の既定値(省略時の値)を取得・設定できます。 # リスト形式で取得される。 str(formals(paste)) # Dotted pair list of 4 # $ ... : symbol # $ sep : chr " " # $ collapse: NULL # $ recycle0: logi FALSE # <-で代入すると設定でき…
Microsoft ExcelやLibreOffice Calcで使用されるxlsxファイルの名前付き範囲(Excelではテーブル含む)はopenxlsxのread.xlsx関数で読み込めます。 ファイル名test.xlsxの名前付き範囲あるいはテーブルTable1は次のコードで読み込めます。結果はデータフレー…
R.NETがすごいです。C#の標準機能では提供されない主成分分析やグラフ画像の作成を簡単かつ信頼できる方法で実行できます。詳細は以下のリンクから。また、Microsoft Visual Studio 2019であればNuGet パッケージマネージャーからプロジェクトへお手軽にイン…