Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Rが苦手な人にもRを使って頂くために~RcommanderとRook~

7.676 Aufrufe

Veröffentlicht am

第21回 東京R勉強会での発表資料です

Veröffentlicht in: Bildung
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH }
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH }
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • -- DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT -- ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... (Unlimited)
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Rが苦手な人にもRを使って頂くために~RcommanderとRook~

  1. 1. Rが苦手な人に使って頂く ~RコマンダーとRookと私~ 2012/03/10 Tokyo.R #21 和田 計也サイバー系
  2. 2. サイバー系 はじめに ※この発表は個人の 見解であり、所属す る組織の公式見解で はありません。2012/03/10 1
  3. 3. サイバー系 自己紹介  和田 計也(@wdkz)  静岡県袋井市出身  サイバー系企業でデータマイニングエンジニア職  創立記念日が3月18日  社長の出身地が福井県鯖江市  前職はバイオベンチャー  バイオマーカ探索してた  学生時代は枯草菌の研究2012/03/10 2
  4. 4. サイバー系 アメーバピグで遊んでみた http://pigg.ameba.jp2012/03/10 3
  5. 5. サイバー系 作ってみた  holiday()関数2012/03/10 4
  6. 6. サイバー系 問題提起  Rはいろんなことができて素晴らしいですよ!  休日もわかるよ!バースデー問題も秒殺!  でも、「いいから使ってみて下さい」って言ってもな かなか使ってくれないよね  コマンド?何それ? 問題点 GUIがない マウスでポチっとな~ができない 解決策 Rコマンダー Webアプリで作っちゃう2012/03/10 5
  7. 7. サイバー系 Rコマンダー Rコマンダーとは?  RのGUIの一つ  R StudioとかRattleとか,, 利点  マウス使える インストール  install.packages(“Rcmdr”) 起動  require(Rcmdr)2012/03/10 6
  8. 8. サイバー系 Rコマンダー使用例  λ=3のポアソン分布ってどんな確率分布だったけ? ① ③ ②2012/03/10 7
  9. 9. サイバー系 Rコマンダーの圧倒的な利点  カスタマイズできる!!2012/03/10 8
  10. 10. サイバー系 Rコマンダーの圧倒的な利点  先ほどのholiday()関数を使ってもらう ① ② ③2012/03/10 9
  11. 11. サイバー系 Rコマンダーのカスタマイズ方法  メニューバーにメニューを追加  Rcmdrインストールフォルダ→etc→Rcmdr-menus.txt (C:¥Users¥wada_kazuya¥Documents¥R¥win-library¥2.14¥Rcmdr) ★このテキストファイルをエディタで編集する2012/03/10 10
  12. 12. サイバー系 Rコマンダーのカスタマイズ方法  Rcmdr-menus.txtに以下を追加  Toolsメニューの下あたり(私の例では351行目の下) menu antibayMenu topMenu "" "" "" "" item antibayMenu command "休日チェキラ" tcl.holiday "" "" item topMenu cascade "あんちべ!" antibayMenu "" "" 3行目:トップメニューに「あんちべ!」文字列を追加してそれをantibayMeruと命名 1行目:antibayMenuをトップメニューに追加 2行目:antibayMenuに「休日チェキラ」という子メニューを追加して、 それがクリックされたときにtcl.holiday関数が呼ばれるようにする ★勘のいい皆様ならなんとなくわかるでしょう2012/03/10 11
  13. 13. サイバー系 Rコマンダーのカスタマイズ方法  ユーザ入力部分のUI(ダイアログ)は適当に作る tcl.holiday <-function(){ initializeDialog(title="休日チェキラ") #ダイアログのタイトル Var1 <- tclVar(substring(Sys.Date(),1,4)) #テキストボックスの初期値 Var1Entry <- tkentry(top, width=“20”, textvariable=Var1) onOK <- function(){ #OKボタン押した時の挙動 closeDialog() #閉じて XXX <- as.character(tclvalue(Var1)) #入力値を取得して command <- paste(“holiday(‘”, XXX, “’)”, sep=“”) #holiday関数呼ぶ doItAndPrint(command) #コマンド実行 #文字列生成 tkfocus(CommanderWindow()) #フォーカスを親に戻す } OKCancelHelp(helpSubject="+") tkgrid(tklabel(top, text=gettextRcmdr(“いつ?”)), Var1Entry, sticky=“e”) #テキストボックスの横のテキスト tkgrid(buttonsFrame, columnspan=2, sticky=“w”) #ボタン設置 tkgrid.configure(Var1Entry, sticky="w") #? }2012/03/10 12
  14. 14. サイバー系 Rコマンダーのカスタマイズ方法  R-cmdr-menus.txtと同様に、関数定義ファイルもetcフ ァイルに突っ込んでおく  Rcmdrインストールフォルダ→etc (C:¥Users¥wada_kazuya¥Documents¥R¥win-library¥2.14¥Rcmdr) ★etcフォルダに突っ込んでおけば、Rcmdr起動時に勝手にロードしてくれる2012/03/10 13
  15. 15. サイバー系 Rコマンダーのその他  Rコマンダーの注意点  Rcmdrのアップデートをしてしまうと、etcフォルダ内のフ ァイルが初期化(消去)されてしまうので努力が水の泡に  Rコマンダーのカスタマイズ・他の方法  Rのパッケージ作るようにコンパイル済みのものを作ること も可能。zipファイルを配布してRコマンダーからアドオンイ ンポートしてカスタマイズ化できるからユーザにとってはこ ちらのほうが嬉しい。  参考文献 http://www.okada.jp.org/RWiki/?RcmdrPlugin%C4%B6%C6%FE%CC%E7 http://cwoweb2.bai.ne.jp/~jgb11101/files/R-commander.pdf2012/03/10 14
  16. 16. つぎ2012/03/10 15
  17. 17. サイバー系 Webアプリ作っちゃう  Rook使う  Rは(おバカな)webサーバを内蔵しているんです!  Hello World的なのやってみよう install.packages("Rook") require(Rook) s <- Rhttpd$new() s$start(quiet=TRUE) s$browse(1) ★webブラウザが起動して何やらそれっぽい雰囲気に2012/03/10 16
  18. 18. サイバー系 Webアプリ作った  Rookで作った source(“Rook.holiday.R”) holiday.start() ★できた2012/03/10 17
  19. 19. サイバー系 RookでのWebアプリ作成方法・1  ユーザ入力部分のUI(htmlのフォーム)は適当に作る Rook.holiday <- function(env) { source("holiday.R") req = Rook::Request$new(env) res = Rook::Response$new() res$write(いつ?:¥n) res$write(<form method="POST">¥n) res$write(<input type="text" name="xdim" value="2012">¥n) res$write(<input type="submit" name="Go", value="holiday">¥n</form>¥n<br>) #まだまだ続く 入力formはhtmlで力業で書く2012/03/10 18
  20. 20. サイバー系 RookでのWebアプリ作成方法・2  ユーザ入力部分のUI(htmlのフォーム)は適当に作る・続き #Rook.holiday関数の続き if (!is.null(req$POST())) { y <- req$POST()[["xdim"]] #テキストフォームの入力値を取得 holidays <- holiday(y) #holiday関数の結果を取得 res$write("<p>") if(length(holidays)==1){ res$write(as.character(holidays)) }else if(is.matrix(holidays)){ for(i in 1:nrow(holidays)){ res$write(paste(as.character(holidays[i,1]), "<br>¥n", sep="")) } }else{ for(i in 1:nrow(holidays)){ res$write(paste(as.character(holidays[i,1]), " | ", as.character(holidays[i,2]), "<br>",sep="")) } } res$write("</p>") } res$finish() } 結果もhtmlで力業で書く2012/03/10 19
  21. 21. サイバー系 RookでのWebアプリ作成方法・3  Webサーバ起動部分 holiday.start <- function(){ s <<- Rhttpd$new() #グローバル領域に変数を作成 #前ページで定義したRook.holiday関数にholidayと名付けて s$add(app = Rook.holiday, name = “holiday”) s$start() s$browse(“holiday”) #Rook.holiday関数を呼び出す }2012/03/10 20
  22. 22. サイバー系 デモ2012/03/10 21
  23. 23. サイバー系 最後に  CUI嫌いな人にRを使ってもらうには... (使いこなすわけではない)  Rコマンダーを使って、GUIを用意してやる  Rookを使って、Webアプリ作って提供する  ただし注意も必要  Rコマンダーカスタマイズを複数ユーザに設定するのはちょっと面 倒。しかも、Rcmdrアップデートするといろいろ消える  Rookで実運用は(たぶん)できないのでrApacheとか使うといいか も2012/03/10 22

×