タグ

ブックマーク / dichika.hateblo.jp (41)

  • Rからgistを作ってはてなダイアリーに貼付ける - 盆栽日記

    コードとその実行結果をブログにはりつけたい。 まあRPubsでもいいが、いちいちリンク先にとぶのがめんどい。そのまま埋め込みたい。 下記コードのように、gistrパッケージのgist_create関数で公開したいRmdファイルを指定すればgistに公開してくれる。 あとは公開したgistの画面右のEmbed URLを貼付ければそのまま公開できる。 enjoy!!!

    Rからgistを作ってはてなダイアリーに貼付ける - 盆栽日記
    kazutan711
    kazutan711 2014/12/26
  • Data scienceをきわめて個人的な意思決定に活かす - 盆栽日記

    (R Advent Calendar @ Qiita 14日目) Data science for social good という動きがあります。 平たく言えば、データサイエンスをNPOとか社会的な活動にもっと活かそうぜという話です。 先のKDD 2014においてもワークショップが開かれていました。 http://dssg.uchicago.edu/kddworkshop/ また、O'Reillyから出ている「Machine learning for hackers」 (和書名:入門機械学習)の著者であるDrew ConwayもData science for social goodに関連したKDD2014の発表において以下のような発言をしています。 No young hacker grows up dreaming of selling ads! 夢のある仕事しようぜ!!!ってことなんだ

    Data scienceをきわめて個人的な意思決定に活かす - 盆栽日記
    kazutan711
    kazutan711 2014/12/14
    読みながらずっと頷いてた
  • Javaに依存せずにxlsxを読む - 盆栽日記

    R Advent Calendar2014@Qiitaの2日目です。 Javaに依存したくない方、いると思います。 こちらにあるようにこれまでxlsxファイルを扱おうと思うと、多くのパッケージではJavaを必要としていました。 そんな事態を解決すべく開発されたのがopenxlsxパッケージです。 コード例 以下は入出力の例です。 # ブックから直接データフレームとして読み込みたい場合 read.xlsx("iris.xlsx", sheet=1) readWorkbook("iris.xlsx",sheet=1) # 仮想ブックとして読み込みたい場合 loadWorkbook("iris.xlsx") # 出力 # 作成した仮想ブックを出力したい場合 saveWorkbook(wb, file = "iris.xlsx", overwrite = TRUE) # 仮想ブックを作成せずデータ

    Javaに依存せずにxlsxを読む - 盆栽日記
  • 有意差でたよっ - 盆栽日記

    (R Advent Calendar 1日目) こういう話がある。 花澤さんが「有意差でたよっ」っていうボイスが入手できるならすべての操作をRに持っていく— kazutan (@kazutan) 2014, 4月 19 声優の花澤香菜さんは売れっ子なのでなかなか難しい。 ということで某所で協力を募った。 http://koebu.com/koe/d86e6a87facfe52e707b73539d88f4ff1f6f48ae#boxKoeLink ありがとうももかさん。 個人的には.Rprofileに下記のように記述して楽しんでいる。 library(yeah) detayo() yeahパッケージをインストールしていない方は以下からどうぞ。 devtools::install_github("dichika/yeah") 現場からは以上です。

    有意差でたよっ - 盆栽日記
    kazutan711
    kazutan711 2014/12/01
  • rbind.fillの機能はrbind_listに含まれている - 盆栽日記

    plyrパッケージにrbind.fillという関数がある。 データフレームをrbindする時、通常は列名が一致してないとエラーが出るのだが rbind.fillは一致していない列をNAで補完して結合してくれる。 で、dplyrパッケージの場合、rbind_all、rbind_listにその機能が含まれている。 rbind.fillするためだけにplyrパッケージをロードする必要なんてなかったんや!!! library(dplyr) > rbind_list(mtcars[1:5,c("mpg", "wt")], mtcars[1:5,c("wt", "cyl")]) mpg wt cyl 1 21.0 2.620 NA 2 21.0 2.875 NA 3 22.8 2.320 NA 4 21.4 3.215 NA 5 18.7 3.440 NA 6 NA 2.620 6 7 NA 2.87

    rbind.fillの機能はrbind_listに含まれている - 盆栽日記
    kazutan711
    kazutan711 2014/11/28
    今欲しい答えがすでにあった。さすがです。
  • データフレームの中身を確かめる - 盆栽日記

    こういう話がある。 「Rで一万行のdata frameの中身をざっと見たいのですが…。えっできない?テキストに出力してExcel?SASなら見れるんですけどねー」と煽られて悔しかった。— berobero (@berobero11) 2014, 11月 20 さすがに高価なSAS様と同様の機能は望むべくもないが、データフレームの中身をみたいとき、組み込み関数ではView関数が用意されている。 View(iris) なおこのときMacでXQuartz関係の設定がうまくいってないと以下のようなエラーが出る。 Error in View(fev) : X11 dataentry cannot be loaded 以下のRjpwikiの記事をもとに対処されたし。 http://www.okada.jp.org/RWiki/?%A3%D1%A1%F5%A3%C1%20%28%BD%E9%B5%E9%

    データフレームの中身を確かめる - 盆栽日記
    kazutan711
    kazutan711 2014/11/21
  • RでBKB - 盆栽日記

    いい話がある。 http://gg-hogehoge.hatenablog.com/entry/2014/11/01/124501 私もバイク川崎バイクは大好きなのでRで作ってみた。 Windows7なので前準備としてkakasiをインストールしてPATHを通している。 RMeCabパッケージでMeCabを、Nipponパッケージでkakasiを叩いている。 結果 こんな感じ。 > getBKB("私は世のいはゆる健全なる美徳 清貧だの倹約の精神だの 困苦欠乏に耐へる美徳だの 謙譲の美徳などといふものはみんな嫌ひで 美徳ではなく 悪徳だと思つてゐる") file = C:\************** 私は世のいはゆる健全なる美徳 清貧だの倹約の精神だの 困苦欠乏に耐へる美徳だの 謙譲の美徳などといふものはみんな嫌ひで 美徳ではなく 悪徳だと思つてゐる 美徳 倹約 美徳 b! k! b!

    RでBKB - 盆栽日記
  • NSE(Non-Standard Evaluation)について - 盆栽日記

    NSEについて前回の記事で叫んだところ、kohskeさんが解説記事を書いてくれた。素敵! http://qiita.com/kohske/items/7dbef6ae3ff34c093ce4 NSEの説明についてはこの記事で十分なのだが、なぜ今さらNSEなんてものをHadleyが持ち出してきたのかについて彼の資料を参考に推測していきたい。 Rにおける従来のNSE 上記kohskeさんの記事にあるようにRではNSEが多用されてきた。 「Standard nonstandard evaluation rules」というRの開発ドキュメントもある。 http://developer.r-project.org/nonstandard-eval.pdf これだけ普及しているのだから今さらとりたてて言う話でもないように思える。 なぜ今さらNSEについて言及するのか ではなぜ今さらdplyrの作者であ

    NSE(Non-Standard Evaluation)について - 盆栽日記
    kazutan711
    kazutan711 2014/10/28
  • dplyrのなんたら_eachを効率的に使う - 盆栽日記

    正直誰でも知ってる関数だし他にも解説している記事はあるので今さらだが、dplyrパッケージのなんたら_each関数の使い方をまとめる。 なんたら_eachを知ることでコピペを連発していたうちの同僚は感動のあまり涙の海に沈んだ。 たとえば以下のように一つの列に対して複数の操作を加えたいことがある。 iris %>% group_by(Species) %>% summarise(MIN=min(Sepal.Length), MEAN=mean(Sepal.Length), MEDIAN=median(Sepal.Length), MAX=max(Sepal.Length) ) 1つの列ならまだいいが、これが複数の列になると心が闇に染まる。 iris %>% group_by(Species) %>% summarise(MIN_SL=min(Sepal.Length), MEAN_SL=me

    dplyrのなんたら_eachを効率的に使う - 盆栽日記
    kazutan711
    kazutan711 2014/10/27
    知らんかった…これすごい。
  • tapplyの再実装で高速化 - 盆栽日記

    applyとかtapplyとか遅い。Rcppで楽したい。けど苦労はしたくない。 そんなときKmiscパッケージのrcpp_tapply_generator関数が役に立ちます。 使い方は簡単。tapply関数のFUNをreturnとともに放り込むだけ。 install.packages("Kmisc") library(Kmisc) cppTapply <- rcpp_tapply_generator("return mean(x);") 速さを測ってみます。 install.packages("microbenchmark") library(microbenchmark) microbenchmark( tapply(iris$Sepal.Length, iris$Species, mean), cppTapply(iris$Sepal.Length, iris$Species), ir

    tapplyの再実装で高速化 - 盆栽日記
    kazutan711
    kazutan711 2014/10/26
  • おやすみ蓮君、さよなら可読性 - 盆栽日記

    mtcarsのsummary結果を保存したのち、そのままmtcarsでlmしてその結果をsummaryしたい。 %>%を使って書くとこういう感じだが当然動かない。 mtcars %>% summary -> summ %>% lm(formula = mpg ~ wt + cyl, data = .) %>% summary だがpipeRの最新版(0.4.3)なら実現できるッ!蓮君素敵! # pipeR 0.4.3 devtools::install_github("pipeR","renkun-ken") library(pipeR) mtcars %>>% (~summ = summary(.)) %>>% # オブジェクトをその後のchainで使いたくないときは~をつける (lm_mtcars = lm(formula = mpg ~ wt + cyl, data = .)) %>

    おやすみ蓮君、さよなら可読性 - 盆栽日記
  • カレンダープロット - 盆栽日記

    カレンダーとヒートマップで簡単に可視化できる関数を教えてもらったのでメモ。 openairパッケージのcalendarPlot関数を使う。 今回は2013年八王子の平均気温を可視化した。 library(magrittr) library(openair) # 下記URLから好きなデータをダウンロード。 # 今回は八王子の2013年の平均気温データを使用。 # http://www.data.jma.go.jp/gmd/risk/obsdl/index.php dat <- read.csv("data.csv", header=FALSE, skip=5) %>% setNames(c("date","temperature","quality","num")) %>% mutate(date=as.Date(date, format="%Y/%m/%d")) # pollutantに可

    カレンダープロット - 盆栽日記
    kazutan711
    kazutan711 2014/08/29
    こんなのがあったとは...
  • 混迷をきわめるpipe界隈 - 盆栽日記

    現在、Rにおけるpipe演算子界隈(%>%とかそういうの)については、dplyrパッケージの勢いに後押しされたmagrittrパッケージが一見その主流になっているようにみえますが、そこに思わぬ伏兵pipeRパッケージがあらわれ事態は混迷をきわめてきました。 pipeRは%>%と同じ機能でありながら非常に高速な%>>%を実装しているわけですが、ここにきてそのエイリアスとして$を採用してきました。jQueryっぽい感じですね。 http://renkun.me/blog/2014/08/16/easier-way-to-chain-commands-using-pipe-function.html 使い方は最初のオブジェクトをPipeではさむだけ。 library(pipeR) library(dplyr) Pipe(iris)$group_by(Species)$summarise_each

    混迷をきわめるpipe界隈 - 盆栽日記
    kazutan711
    kazutan711 2014/08/22
    あとで確認。
  • rlistパッケージはリストのデータハンドリングに便利 - 盆栽日記

    大抵データフレームで扱うのだが、JSONのデータを読み込む際などリストで扱わざるを得ない時がある。 で、リストのデータハンドリングをよしなにやってくれるrlistというパッケージがある。 http://renkun.me/r/2014/06/26/rlist-a-new-package-for-working-with-list-objects-in-r.html list.hogehogeという形で便利関数が色々と入っている。 以下は一例。 library(rjson) # json読み込み library(dplyr) library(rlist) # http://oku.edu.mie-u.ac.jp/~okumura/stat/rjson.html を参照 > fromJSON(file="http://radioactivity.nsr.go.jp/data/ja/master

    rlistパッケージはリストのデータハンドリングに便利 - 盆栽日記
    kazutan711
    kazutan711 2014/07/28
  • dplyrのバージョンが0.2に上がって - 盆栽日記

    dplyrのバージョンが2.0に上がって少し便利になりました。 詳しくは以下のリリースノートをご覧ください。 https://github.com/hadley/dplyr/releases/tag/v0.2.0 以下の3点が大きな変更点。 %.%が%>%に変わった do()が生まれ変わった 新しい便利関数が加わった 簡単に解説します。 %.%が%>%に変わった %.%(chain演算子)は皆様多用されているかと思いますがいかんせんシフトキーを一度離す必要があるのでタイプしづらい。ということでmagrittrパッケージから%>%演算子をインポートしてきたとのことです。%.%はいずれ廃止するけど、すぐじゃないからまあ慌てるなとも。 do()が生まれ変わった do()は今回のバージョンアップに伴い生まれ変わったとのことです(completely overhauled)。 正直な話、do()使っ

    dplyrのバージョンが0.2に上がって - 盆栽日記
    kazutan711
    kazutan711 2014/05/23
    これは要チェック
  • Rで一行でディープラーニング - 盆栽日記

    ディープラーニング、Rで deeplearning(y~., data) とかいう感じで一行で書けたらなあと思ったことありませんか、私は常々思っていました。 だが実装するのはめんどい。 というころで探したらありました。 まあRで実装されているわけではなく、h2oというオープンソースの機械学習のソフトウェアを立ち上げてRからそこに計算を投げる感じです。 H2Oをダウンロードして立ち上げた上で以下のような感じで書けます。 deeplearningってそのままなのが潔くて良いですね。 library(h2o) localH2O = h2o.init(ip = "localhost", port = 54321, startH2O = TRUE) # データの読み込み(今回はiris) irisPath = system.file("extdata", "iris.csv", package =

    Rで一行でディープラーニング - 盆栽日記
    kazutan711
    kazutan711 2014/05/03
  • %.%を耳で感じるパッケージpingsを作りました - 盆栽日記

    dplyrヘビーユーザーの皆さんはきっと%.%を多用されていることかと思います。 気持ちよいですよね%.%。 そんな気持ち良さを耳で感じて皆さんの%.%ライフを加速させるパッケージを作りました。 pings関数について pingsパッケージの内容はpings関数のみです。 %.%の数に応じて音が鳴り、最後にファンファーレで祝福されます。 pings(x, interval=0.25, countp=2, endp=8) intervalで音の間隔、countpでカウントする時の音、endpでファンファーレの音を指定できます。 なお、音を鳴らすのにpingrパッケージを用いているのでインストールが必要です。 例 # devtools::install_github("rasmusab/pingr") devtools::install_github("dichika/pings") libr

    %.%を耳で感じるパッケージpingsを作りました - 盆栽日記
    kazutan711
    kazutan711 2014/04/21
  • dplyr最強伝説 - 盆栽日記

    plyrは遅いと思っておりましたし実際そのような検証結果も2013のR Advent calendarで出ておりました。 まあ文法がggplot2と同じような感じなのでggplot脳の自分としてはまあ多少遅くても新しい文法覚えるよりましかとか思っていたわけです。 ただ、新しい文法覚えて集計がめちゃくちゃ速くなるんなら話は別だ。 ということで巷でめちゃくちゃ速いと評判のdplyrを使って集計時間を比較してみました。 実際速い。 追記(2014/1/19) CRANにdplyrがアップされていたので、githubからインストールする必要は無くなりました。 通常通りinstall.packagesでどうぞ。 追記(2014/2/24) 基関数等については下記記事をご参照ください。 http://rpubs.com/dichika/dplyr_intro http://rpubs.com/dic

    dplyr最強伝説 - 盆栽日記
  • 思い出して下さい、[は関数です - 盆栽日記

    %.%思考になると少しでも多く%.%を使いたくなります。 たとえばirisデータにおいてSpecies以外の列ごとの和を求める際、通常ならこうやると思います。 iris[,-5] %.% colSums() しかしこれでは1 Hitにしかなりません。 私ならこうやります。 iris %.% "["(,-5) %.% colSums() これで2 Hitsです。 こういった小さな努力の積み重ねがあなたの%.%ライフを加速させます。 追記(2014/3/4) Rguru達から「俺ならもっとスマートにやる」旨いただきました。 library(magrittr) iris %.% extract(-5) %.% colSums() ありがとうRguru(@kohske, @kaz_yos)!!! お知らせ %.%の表記は、%>%に移行するようです。 https://groups.google.co

    思い出して下さい、[は関数です - 盆栽日記
    kazutan711
    kazutan711 2014/02/27
  • rChartsのnPlotに関するメモ - 盆栽日記

    rChartsを使って要介護認定の状況を可視化した。 http://rpubs.com/dichika/youkaigo その際色々と困ったのでメモ。 今回はd3.jsのライブラリの中でもNVd3nを用いるnPlotを可視化に使ったので、その話がメインになるが、それ以外のライブラリを使う場合もやり方は原則として同じだと思われる。 Javascriptのリテラルを渡す時 文字列としてではなくJavascriptのリテラルとしてrChartsに認識させたい時がある。 その際は#! ... !#というシンタックスで包む。 http://stackoverflow.com/questions/19421211/nvd3-scatterplot-with-rcharts-in-r-vary-size-of-points n1$yAxis(tickFormat = "#!function(d) {re

    rChartsのnPlotに関するメモ - 盆栽日記
    kazutan711
    kazutan711 2014/02/17