SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
第21回R勉強会@東京(#TokyoR)

    菩薩でもわかる!
Rで動かすExcelアドインの作り方

    @teramonagi
皆さん
ご存知のように
LTの時間は10分
全部話すの
なんで
以下、ダイジェス
トでお送りします
でわ、スタート
0:菩薩とは何か
役職ピラミッド
  社長
  専務
  常務
  部長
  次長
仏像ランキング
      如来
ココ!   菩薩
      明王
      天
      羅漢
1:本日のお題
データマイニング
 エンジニアに
 なったものの
来る日も来る日
もアナリストのサ
 ポートばかり
あいつらExcelし
か使えやしない
くっそ くっそ!!!!!
そんなことで
お悩みの貴方!
そんな
貴方に送る
Rで動く
Excelアドイン
作り方教えます!
でも、
なんか難しそう…
意外と
簡単に作れる
でわ、スタート
2:使う道具
-R言語
-Excel
-.NET Framework
-R.NETProduced by




-Excel-DNA
完成図:こんな感じ
俺、似たの知ってるよ?
俺、似たの知ってるよ?


インストール面倒
メリット
•メリット
 –管理者権限なしでOK
 –作成物の配布が楽
 –実装とAPIの分離
デメリット
•デメリット
 –いずれかの.NET系言語
  書けないと辛い
–データフレームとか渡せ
 ない?
3:やってみる
とりあえずDownload
とりあえずDownload


開発者
そして解凍&コピー
1つにまとめて・・・
※ちなみに
これが配布物
.dnaのコードを修正
<DnaLibrary RuntimeVersion="v4.0" Name="My First XLL" Language="CS">
<ExternalLibrary Path="R.NET.dll" />
<Reference Name="R.NET" />
<![CDATA[

using   System;
using   System.Collections.Generic;
using   System.Linq;
using   System.Text;
using   RDotNet;

namespace CSLib
{
    public class CSLib
    {
        static REngine rengine = null;
        static CSLib()
        {
            // Set the folder in which R.dll locates.
            REngine.SetDllDirectory(@"C:¥R¥R-2.14.1¥bin¥i386");
            rengine = REngine.CreateInstance("RDotNet", new[] { "-q" });
        }
        public static double [] MyRnorm(int number)
        {
            return (rengine.EagerEvaluate("rnorm(" + number + ")").AsNumeric().ToArray<double>());
        }
    }
}
]]>
</DnaLibrary>
xll起動&使ってみる
超簡単!!!!!
詳しくは…
 菩薩でもわかる!Rで動かすExcelアドインの作り方

Weitere ähnliche Inhalte

Was ist angesagt?

GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
博文 斉藤
 
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみたRのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
Kazuya Wada
 
Redis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo SpringRedis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo Spring
Makoto Ohnami
 
Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理
Takeshi Arabiki
 
R を起動するその前に
R を起動するその前にR を起動するその前に
R を起動するその前に
Kosei ABE
 

Was ist angesagt? (20)

GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
 
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみたRのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
 
awk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyoawk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
 
Redis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo SpringRedis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo Spring
 
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-1020171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10
 
MongoDBの使い方
MongoDBの使い方MongoDBの使い方
MongoDBの使い方
 
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-1020171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方
 
PCさえあればいい。
PCさえあればいい。PCさえあればいい。
PCさえあればいい。
 
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql
 
R3.0.0 is relased
R3.0.0 is relasedR3.0.0 is relased
R3.0.0 is relased
 
Rでreproducible research
Rでreproducible researchRでreproducible research
Rでreproducible research
 
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
 
Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理
 
20131109 ruby conf2013
20131109 ruby conf201320131109 ruby conf2013
20131109 ruby conf2013
 
カジュアルにソースコードリーディング
カジュアルにソースコードリーディングカジュアルにソースコードリーディング
カジュアルにソースコードリーディング
 
Start printf 6_takarakasai
Start printf 6_takarakasaiStart printf 6_takarakasai
Start printf 6_takarakasai
 
Stream2の基本
Stream2の基本Stream2の基本
Stream2の基本
 
R を起動するその前に
R を起動するその前にR を起動するその前に
R を起動するその前に
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 

Andere mochten auch

TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』
TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』
TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』
Yuichiro Kobayashi
 
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
horihorio
 
Uplift Modelling 入門(1)
Uplift Modelling 入門(1)Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
Yohei Sato
 
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
 

Andere mochten auch (18)

2部グラフとソーシャルネットワーク
2部グラフとソーシャルネットワーク2部グラフとソーシャルネットワーク
2部グラフとソーシャルネットワーク
 
Tokyo r21 2
Tokyo r21 2Tokyo r21 2
Tokyo r21 2
 
TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』
TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』
TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』
 
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
 
Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定
 
Uplift Modelling 入門(1)
Uplift Modelling 入門(1)Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
 
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみたとある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
 
RをAWSで使おう
RをAWSで使おうRをAWSで使おう
RをAWSで使おう
 
Tokyo r33 beginner
Tokyo r33 beginnerTokyo r33 beginner
Tokyo r33 beginner
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
Tokyo r30 anova
Tokyo r30 anovaTokyo r30 anova
Tokyo r30 anova
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
 

Ähnlich wie 菩薩でもわかる!Rで動かすExcelアドインの作り方

第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
Tomonobu_Hirano
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
Masanori Machii
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
Nobuaki Oshiro
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
Nobuaki Oshiro
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
Kohei Noda
 

Ähnlich wie 菩薩でもわかる!Rで動かすExcelアドインの作り方 (20)

第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語R
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
Tokyo r r_excel
Tokyo r r_excelTokyo r r_excel
Tokyo r r_excel
 
Material
MaterialMaterial
Material
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
Web技術勉強会 第37回
Web技術勉強会 第37回Web技術勉強会 第37回
Web技術勉強会 第37回
 
インデントを減らそう
インデントを減らそうインデントを減らそう
インデントを減らそう
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
 
How Smalltalker Works
How Smalltalker WorksHow Smalltalker Works
How Smalltalker Works
 

Mehr von Nagi Teramo

healthplanetパッケージで 体組成データを手に入れて 健康な体も手に入れる
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れるhealthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
healthplanetパッケージで 体組成データを手に入れて 健康な体も手に入れる
Nagi Teramo
 
続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)
Nagi Teramo
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Nagi Teramo
 
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
Nagi Teramo
 

Mehr von Nagi Teramo (20)

第86回R勉強会@東京 LT資料
第86回R勉強会@東京 LT資料第86回R勉強会@東京 LT資料
第86回R勉強会@東京 LT資料
 
Rでを作る
Rでを作るRでを作る
Rでを作る
 
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 DockerマンReproducebility 100倍 Dockerマン
Reproducebility 100倍 Dockerマン
 
healthplanetパッケージで 体組成データを手に入れて 健康な体も手に入れる
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れるhealthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
healthplanetパッケージで 体組成データを手に入れて 健康な体も手に入れる
 
闇と向き合う
闇と向き合う闇と向き合う
闇と向き合う
 
機械の体を手に入れるのよ、 鉄郎!!!
機械の体を手に入れるのよ、鉄郎!!!機械の体を手に入れるのよ、鉄郎!!!
機械の体を手に入れるのよ、 鉄郎!!!
 
続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
 
Ultra Lightning Talk × 3
Ultra Lightning Talk × 3Ultra Lightning Talk × 3
Ultra Lightning Talk × 3
 
F#談話室(17)
F#談話室(17)F#談話室(17)
F#談話室(17)
 
RFinanceJはじめました
RFinanceJはじめましたRFinanceJはじめました
RFinanceJはじめました
 
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
 
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!
 
Trading volume mapping R in recent environment
Trading volume mapping R in recent environment Trading volume mapping R in recent environment
Trading volume mapping R in recent environment
 
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
 
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Tokyo.R 白熱教室「これからのRcppの話をしよう」Tokyo.R 白熱教室「これからのRcppの話をしよう」
Tokyo.R 白熱教室「これからのRcppの話をしよう」
 
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成
 
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法
 
Rで学ぶ『構造型モデル de 倒産確率推定』
Rで学ぶ『構造型モデル de 倒産確率推定』Rで学ぶ『構造型モデル de 倒産確率推定』
Rで学ぶ『構造型モデル de 倒産確率推定』
 

菩薩でもわかる!Rで動かすExcelアドインの作り方