R
前回の記事で、転職ドラフトのデータをスクレイピングし、簡単な分析を行いました。 kiito.hatenablog.com ただし、こちらの記事の時点では、転職ドラフトは終わっておらず、中途半端なデータの状態のまま集計していました。 特に最終日に多くの指名が入って…
お久しぶりです。 最近上司と「機械学習とかその辺の技術が発展したら、真っ先に自動化されて仕事なくなるのはハンパなエンジニアと中間管理職だよね〜」という話をして危機感を募らせている @takeshi0406 です。 WEBエンジニアにはご存じの方も多いと思いま…
最近関数型言語(主にHaskell)で遊んでいます。 その中「ラムダ式の中で再帰を行うことができる」Yコンビネータという概念が出てきたのですが、ちょっと理解できなかったので、Rで実装してみたという記事です。 Pythonによる実装は以下の記事に詳しく解説さ…
RとPythonのチャットワーク用ライブラリを、APIのバージョンアップに早めに対応しました。 ライブラリの実装練習に作った割に、なんだかんだ自分でいろいろと利用しているのでビックリです。 help.chatwork.com v1からv2への移行期間として、下記の停止日ま…
R Advent Calendar 2016の5日目です。よろしくお願いします。 最近、R界隈ではHadley Wickham氏が中心となって開発しているtidyverseと呼ばれるライブラリ群が流行っています。 彼がWelcome to the Tidyverseという記事の中で、次のような宣言を行っています…
自然言語処理をやっている人はよく辞書の整備が大変だと言います。 そんな話をしていたところ、「自分が詳しくない分野の言葉を知るときはweblio辞書が便利だよ」という知見を教えてもらいました。 www.weblio.jp しかし、私は怠惰なプログラマーなので、ス…
会社に優秀な後輩が入ってきて、優秀な先輩(私でゎない)の助けを得ながら、立派な分析者・Rプログラマーとして成長しつつあります。 しかし、R言語だけで全ての作業が完結できるわけではありません。手元でデータを加工・分析するための環境としては素晴ら…
友人が、後輩にこちらの記事を紹介していました。 www.shiningmaru.com Excelの基本的な機能や、分析の心構えが過不足なく紹介されている素晴らしい記事だと思います!しかし、私は統計用環境のR言語が大好きで、分析のほとんどの場面で、RはExcelより簡単に…
できるだけ簡単にRの定型作業が終わるよう、自作のライブラリを作って、簡単に引き継ぎ作業ができる状態を作りました。 (職場の優秀な先輩が、Rのコード資産を自分だけにしか使えず、定型作業をほかの人に引き継げずに闇を抱えてしまった姿を見てしまってい…
Rを使っていると、DBに接続してSQLを投げる作業がよく発生します。 すると、大抵は、RPostgreSQLなどのDBを扱うライブラリを用いてDBに接続し、 SQLの文字列を用意し、ライブラリの関数の引数に指定するというコードを書くことになります。 ただ、SQLの文字…
明らかにバッドノウハウですが、関数型プログラミングのライブラリであるpurrrのサンプルコードにある data %>% split(.$カラム名) %>% purrr::map(データフレーム操作) のコンボを上手く決められたので、せっかくなのでブログに貼り付けておきます。 github…
時間のかかる計算が終わったときに、Chatworkに通知させたいという需要があったので、Rからchatworkに投稿するライブラリを作りました。 github.com 英語が糞なのは気にしないでください。 Pythonistaなのでクラスベースのオブジェクト指向が理解しやすいた…
Lispを使って、関数型言語の機能を過不足なく勉強できそうな本が発売されていました。 はじめてのLisp関数型プログラミング――ラムダ計算からリファクタリングまで一気にわかる (Software Design plus)作者: 五味弘,272出版社/メーカー: 技術評論社発売日: 20…
ルールに従っているidがあって、「idの冒頭2文字が数字かどうか」をチェックしたい案件がありました。 example_ids <- c("01_orange_0001001", "09_red_0001001", "aa_purple_0002002") Pythonであれば文字列のスライスとis_digitメソッドで簡単にチェックす…
私のいる会社はWEBサービスで成長してきた会社なので、 社内ではエンジニア≒WEBアプリケーションエンジニアという認識の人が多いです。 前任者の先輩が強力なRプログラマーで、すごい統計解析やツールを作っていたにも関わらず、 その結果が正しく理解され運…
Rのプログラマーは「Rって独特な言語だから、R言語独自の機能が多くて他の言語に応用が効かない」とか言いがちですが、そんなことは無いと思います。関数型言語(Scheme)の影響が強いので、ちょっと立ち位置は遠いのかもしれませんが。 例えば、以前私が「…
「Rのプログラマーは当たり前に思ってるけど、他の人達にとってはそうじゃないこと」をまとめておいて、 先輩や同僚から「Rって何が便利なの?使って or 勉強して得になるの?」って聞かれたときにパッと答えられるように備えておこうという記事です。 (自…
同僚のRプログラマーにおすすめのRの本は無いかと聞いたところ、 「新米探偵データ分析本→実務→(みんなのR→)advanced R」の順番に学ぶといいと聞き、新米探偵本を借りて読んでいます。 新米探偵、データ分析に挑む作者: 石田基広,shimano出版社/メーカー: …
「他のスクリプト言語ならそれなりに触れるけど、Rって変な機能が多いから難しい」と感じている人のために、Rの独特な点、ハマりどころ、そして特にデータの集計での強力な機能やパッケージをまとめてみました。 社内のデータリソース移行の作業の中で、前任…
RからGoogle BigQueryを操作できるbigrqueryが便利です。クエリを投げてローカルにデータを取得する他、データソース名やテーブル名を取得したり、テーブルを削除したりもできます。 github.com また、次のようにしてinsert_upload_jobを使って、データフレ…
Pythonでプログラミングする際、「まずコードを書いて、ある程度コードが大きくなってきたらクラスを作って整理する」ということをよくします。 R言語ではなんだかオブジェクト指向の概念が特殊で、その辺の機能を敬遠していましたが、 「普通のオブジェクト…
DBに何日分かデータが入っていなかったため、DBの中身をチェックする必要がありました。 そこで、以下の日付の範囲を取る関数を作り、DBの戻り値にないものを探すようにしました。 library(dplyr) library(purrr) # 日付の範囲を取る関数 date_range <- func…
社内でChatworkが使われているのですが、Rの計算が終わったときに通知してくれると便利だと思い、 ChatworkのAPIを叩いて通知する関数を作ってみました。 chatworkにbotアカウントを用意し、計算終了時にメッセージを投稿させます。 こちらのコードを参考に…
弊社には古より伝わったファイルサーバー上のExcelやPowerPointで色々な仕様書や必要な情報がやりとりされる文化があります。 (正直不便すぎるのでやめてほしいのですが、すぐに変更できるとは思えないし、過去の遺産もあるのでなんとか作業しなければいけ…
最近Rを使っていて、dplyrなどの強力なパッケージで気軽にデータの成形ができることに感動しています。 先輩に渡してもらったコードの中で、tidyr::spreadにデータフレームをパイプ%>%で渡し、 データの成形を一気に終わらせていて、こいつはただごとではな…
DBにクエリを投げてテストする際、RStudioからRPostgreSQLなどのライブラリを利用すると非常に便利です。 なぜかというと、DBからの戻り値をRのデータフレーム型の変数に格納することができ、 その値をR言語の豊富な関数によって集計することができるからで…
※自分用のメモなので手抜きです。 長らく謎だったPython版ggplotの使い方を書いてる方がいました。 >>R_Graphics_cookbook_in_sage -- Sage Python版ggplotがどれ位使えるかRグラフィックスクックブックの例題をSageで試してみた。 http://t.co/acRvUCjFHM —…
データ分析っぽいブログですが、自分の専門は物理です。 私はMATLABやgnuplotの使い方がよく分からず、描画関係では専らRを使っていました。そのときRで相空間のベクトル場を描いたことがあり、Rで似たことをやってる記事も無さそうなので一応まとめておきま…
R Advent Calenderの18日目の記事です 「お手持ちのデータからネットワークを作成をしてみよう」というテーマです。 Rを使ったネットワークの解析(次数や媒介中心性、コミュニティ検出etc...)のやり方については様々な方が本やブログにまとめてらっしゃい…
R Advent Calenderの18日の記事(の草稿)です 「お手持ちのデータをネットワークとして扱う」までをお手伝いする記事です。 「複雑ネットワーク」「ネットワーク解析」という言葉を聞き、自分の仕事や研究にも役立つかもと思い「スケールフリー性」「○○中心…