R筋

プログラミング、金融、育児

R

【R】グループ化して集計するあれこれ

R

部署ごとの社員数を求めるとか 地域ごとの売上1位の店舗を求めるとか、グループ化して集計するという場面は多いので、 メモ。これ(iris)↓から SpeciesごとにSepal.Lengthが最大になる行だけを取り出したい。 つまり↓ とするには、 library(dplyr) iris %>% g…

【R】ログ解析するときの工夫

R

久々にRのTIPSを。僕がRでログデータを処理したときにかんがえたことを書いとく。 #ログデータが複数ファイルにある時、リスト化する。 files <- list.files(getwd(),full.names=TRUE) #full.names=TRUEによりフルパスのリストができる。 #あとで使う系 acce…

【R】保育園スレを形態素解析してトピックを眺める

4月からの保育園が決まったものの、色々と準備が必要になるようで妻とネットを漁っている。 有名な掲示板にも、保育園準備にあたり先輩ママからの助言をきけるスレがあるようだ。【センパイ】保育園入園&復職準備スレ 11【教えて】 [無断転載禁止]©2ch.net保…

【R】bitFlyerのAPIを操作 public API・ticker編

R

過去のブログで板情報を取得しました。 anpontan382.hatenablog.com 今回はティッカー情報です。 ティッカー情報は、取得時点のベストプライス・ボリュームなどです。自動売買ツールを作る上では条件判定に必要になるでしょう。 早速コードはこちら~ #最初…

【R】主成分分析でベビーカーを分類

主成分分析とは、色々な項目で計測されているサンプルに対して、主成分と呼ばれる新しく合成した少数の尺度を使って分析する手法です。 例えば、BMIは身長と体重から算出される肥満度を表す指標ですが、これがあることで、1つの指標だけで複数のサンプルを…

【R】bitFlyerのAPIを操作 public API・borad編

R

ビットコインバブルに乗っかりまして、 仮想通貨取引所でおなじみbitFlyerの、開発者向けAPIを操作して、 億り人を目指します。bitFlyer Lightning APIでは3種類のAPIが提供されています。 ・HTTP Public API →ログイン不要で、板情報、歩み情報等取引所が…

【R】quantmodでファイナンスデータを取得

R

ファイナンスデータの取得・分析に強いquantmodのget系関数でできることをを挙げます。 toyota <- getSymbols("7203",src="yahooj",auto.assign=FALSE) 参考: www.dmjtmj-stock.comgetSymbols.yahooj()を使って getSymbols('7203.T',src='yahooj')でも可能…

【R】SQLiteと連携

R

sqliteのDBへのデータ入出力についてです。まず、sqlite本体からデータベースを作成して見ます。https://sqlite.org/index.html download→Precompiled Binaries for Windows→sqlite-tools-win32-x86-3190300.zi 作業フォルダに解答。 コマンドプロンプトを起…

【R】optionsでの設定一覧

R

options関数で様々なオプションを設定・確認できます 確認する場合は以下のコマンドを使用します。 options() getOptions("option名") 設定する場合は、options(オプション名=設定値)で行います。 設定できるオプションについて以下にまとめました。$add.smo…

【R】Excelファイルの読み込み

R

Excelファイルを読み込む場合はreadxlパッケージを使用します。 試しに政府統計の日本の人口データを読み込んでみます。人口推計 各月1日現在人口 月次 2017年6月 | ファイルから探す | 統計データを探す | 政府統計の総合窓口 install.packages("readxl") l…

【R】RcppBDTパッケージ

R

前回に引き続き、日付を操作するパッケージRcppBDTをご紹介します。 私がよく使うのはgetNthDayOfWeekで、「今月の第3水曜日は何日」といったことを取得できます。以下に例を挙げます。 install.packages("RcppBDT") library(RcppBDT) date <- today() getE…

【R】lubridateパッケージ

R

lubridateパッケージは日付の操作に役立つ様々な関数があります。 日付型からyear(),month(),day(),hour()などで それぞれの部分を取り出せる関数がとても便利です。 他にも使用頻度が高いと思われるもののサンプルを紹介します。 #パッケージインストール i…

【R】Rをバッチ化し、定時起動して処理を行う

R

以下で作成した、webスクレイピングのスクリプトを1日1回定時起動して、 毎日清算価格を取得しprice.txtへ出力できるようにします。 anpontan382.hatenablog.com方針は以下の通りです。 ①コマンドプロンプトからRを実行できるようバッチ化 ②タスクスケジュ…

【R】webスクレイピングの超基礎

R

webスクレイピング用のライブラリrvestを使って、 取引所FXなどを展開する東京金融取引所のホームページから 清算価格を取得してみたいと思います。取引所のホームページからは様々な取引データが取得できるため、 金融の分析などに使用できることも多いと思…

【R】dplyrでクロス集計

R

deplyrパッケージの使い方について実際に実行してご紹介します。 #deplyr読み込み library(dplyr) #iris読み込み iris <- datasets::iris #種類ごとに何個あるのかクロス集計 iris %>% dplyr::group_by(Species) %>% dplyr::summarise(total=n()) 実行結果は…

【R】ヘッダーフッターをつけて出力する

R

データフレームをCSV出力する際に、ヘッダー行、フッター行をつけて出力する場合は、readrパッケージのwrite_linesを使用します。 library(readr) #データフレームdfをワーキングディレクトリにexport.csvとして出力します。 path <- paste(getwd(),"export.…

【R】データフレーム最終行へのアクセス

R

データフレームの最終行を取得する方法を列挙します。 df <- data.frame(matrix(1:6, nrow=3, ncol=2)) > df X1 X2 1 1 4 2 2 5 3 3 6 から X1 X2 3 3 6 を取り出す。 方法1 df[nrow(df),] 方法2 tail(df,n=1) 方法3 df[rev(row.names(df)),][1,]

【R】日付を操作する

R

日付の操作について、ご紹介します。 lubridate、RcppBDTライブラリがあります。 年・月・日を取得する(基本関数で) date <- as.Date("2017-05-08") year <- substr(date,1,4) month <- substr(date,6,7) day <- substr(date,9,10) 年・月・日を取得する(lu…

【R】NAの補完について

R

こんにちは!Rのこととか書いてきます。 まずは定番ですが、欠損値NAについて、補完の方法を列挙します。 ・特定の値を入力する df[is.na(df)] <- 0 ・NAを含む行を削除する na.omit(df) na.rm(df) ・前後の値の平均値を取る install.packages("zoo") library…