第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アドインの作り方

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