使い方メモ(不便解決)
やりたいこと Rのデータフレームで列名を一括置換したい。 ピンポイントで指定する場合は以下の記事のようにすればいいが列名が多いときは面倒。 Rのデータフレームで、列名指定で列名の一部を変更する方法 - Rプログラミングの小ネタ 例えば、この記事のよ…
やりたいこと 表題通り。 個人的に使った事例(のイメージ)としては、例えば店舗データとして、「売上、店舗規模、従業員数」があるとする。 これらのデータをもとに店舗の売上モデルを作成するときに、近隣店舗の情報もモデルに入れる場合、各列名の末尾に…
やりたいこと ARIMAなどをする際に予測をするためにforecast関数を用いる。 その際、forecast関数によって作成されたオブジェクトはautoplot関数でそのまま描画できる。 キレイでリッチなグラフ描画をおこないたいので、ggplotを使って描画をしたい。 問題点…
ARIMAXモデルにおいて、X(外部要因)に何を入れるか考える際にいちいち1つ1つ試していくのは手間がかかる。そのため、loop処理で一気に計算をおこない結果を比較したい。 データ テキトーに以下のデータで考える。 > df # A tibble: 7 x 5 date value x1 x2_1…
目的 下記のようなデータにおいて、Aのstart_dateからend_dateの期間でBをJOINしたい。 A = tibble(id = c(1,2,3), start_date = c('2018-01-01','2018-02-01','2018-03-01'), end_date = c('2018-01-02','2018-02-03','2018-03-01')) B = tibble(date = seq…
目的 Rにおいて、各loop毎に異なった名前の列名を追加していきたい。 問題 変数名として解釈される前に新規列名として解釈がされる。 iris2 = iris for (n in 1:3) { column_name = paste('column',n, sep = "") iris2 = iris2 %>% mutate(column_name = n) …
目的 Rにおいて、loop処理内で各loop毎に異なった変数を作成したい。 問題 pasteで各loop毎に文字列を作成して、その文字を変数名にしようとした。 for (n in 1:3) { v_name <- paste('v', n, sep = '') #変数名作成(v1,v2,v3) v_name <- n #作成した変数名(…
ggplot2で異なるグラフを重ねて、yの値が左右で異なるグラフを2軸グラフという。 イメージ的には、下記の2グラフ(平均価格をpoint、平均カラット数を棒グラフ)を1画面に収めるイメージ(※棒グラフの数値テキストは、以降での値を確かめる用なので除く)。 ~ …
事象 表題通り。 データとして、週初めの日付が入っているデータがある。その日付単位でplotをすると軸がdateゆえに目盛が週初め刻みではなく、通常通りの1日刻みとなる。そのため、下記グラフのように欲しい部分(週初め日付)とは別の日付が目盛に表示され…
tidylogというライブラリがなかなか良さげ。 簡単に概要を書くと、「tidy系の処理結果のサマリーを実行時に表示してくれる」。 製作者のgit丸写しだけど挙動を以下に示す。 GitHub - elbersb/tidylog: Tidylog provides feedback about basic dplyr operatio…
編集距離(レーベンシュタイン距離)を用いて、名寄せ作業をおこなった。 レーベンシュタイン距離については過去記事参照。 knknkn.hatenablog.com 今回の目的は前述のように、データソースAとBで、同じ固有名詞を示していても表記ゆれがあったため名寄せを…
仕事である固有名詞に対してデータソースがAのものとBのもので、微妙に表記ゆれがあったため名寄せ作業をおこなう必要があった。 目で見ていくとキリがないので文字列の類似度測って閾値以上のものをリストアップした上で目で見ると効率が良くなりそうなので…