[問題] r在excel中的自動化應用

看板R_Language作者 (安卓發送)時間9年前 (2015/07/18 10:51), 編輯推噓6(6010)
留言16則, 3人參與, 最新討論串1/2 (看更多)
- 問題: 當你想要問問題時,請使用這個類別 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 請把以下不需要的部份刪除 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 版友們好:) 小弟最近在處理excel資料時 有很多手動的機械性(重複)動作 由於是比較私密的資料 所以請恕小弟無法將資料講得太詳細@@ 我盡量描述資料架構,例如: 以excel而言 A欄是名目(姓名、ID等) B欄也是名目(分組組別、年齡層等) C欄是數值(薪水、考試分數等) 假設現在的步驟是將B欄每組組別的平均數或變異數算出來 重複動作是用excel篩選B欄組別 一一下去跑平均數變異數 將結果輸出在D欄 那麼 有沒有辦法用除了VBA以外的方法讓這步驟自動化? 像是C++能夠產生的執行檔 或是excel中物件的方式 讓使用者能夠一點就產出結果? 小弟在餵估狗後 找到一篇論文和我所想的方式很像 《資料採礦預測系統之建構─以雲端運算為系統之主軸概念,廖婉婷》 產生的物件可能和系統介紹預測的部分差不多 不過小弟目前還不需要用到cloud R好像沒有辦法像C++那樣編譯然後產生一個執行檔 但即使寫了一個通用的程式碼 每次還是要重開R執行 有點麻煩 RExcel好像是目前看來比較可行的方式 問題好像有點亂... 簡言之就是 希望能夠 《一鍵執行且不用再打開R,像巨集那樣結果隨資料數值變動而變動》 想請問版上大神 R需要搭配什麼才能夠做到這一點呢? 因為小弟的VBA實在不是很強...要再買書自學也有點花時間 RExcel又卡在excel 32bit的問題 還有R版本也不能太新*_* 如果R能夠做到就再好不過了!! 或是有除了VBA或RExcel外能支援R語言的相關程式或套件 大概這樣 若以上有說明不清楚的地方還請見諒 謝謝~ [程式範例]: [環境敘述]: [關鍵字]: RExcel、C++、VBA、自動化 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.74.158.13 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1437187866.A.6E1.html

07/18 10:59, , 1F
突然想起來 shiny是否也有可能做到這一點呢??
07/18 10:59, 1F

07/18 11:27, , 2F
寫批次檔 "R CMD Batch 檔名.R"
07/18 11:27, 2F

07/18 11:29, , 3F
用DOS執行批次檔(.bat)call R 要先在系統變數 path 中增加
07/18 11:29, 3F

07/18 11:30, , 4F
R的執行檔路徑 例如 C:\R\R-3.2.1\bin
07/18 11:30, 4F

07/18 11:31, , 5F
等到你可以在DOS中, 輸入 R. 就可以跑出 R的介面 就行了
07/18 11:31, 5F

07/18 11:33, , 6F
這樣你只要按.bat的那個檔案, 還可以同時開R來做事.
07/18 11:33, 6F

07/18 11:34, , 7F
缺點就是被你呼叫的檔案不能存檔. 因為他正在執行.
07/18 11:34, 7F

07/18 11:36, , 8F
再來是優點, 就是可以從批次檔輸入變數. 手動多核多工.
07/18 11:36, 8F

07/18 11:41, , 9F
用Rscript也可以, 我只是喜歡它可輸出.RData跟.Rhistory
07/18 11:41, 9F

07/18 12:11, , 10F

07/18 12:12, , 11F
你可以試試看R 的命令列應用
07/18 12:12, 11F

07/18 17:57, , 12F
W大似乎比較喜歡Rscript, 因為她仍然在DOS的介面嗎.
07/18 17:57, 12F

07/18 18:18, , 13F
我比較喜歡 R CMD Batch 因為跑完它就關掉了.
07/18 18:18, 13F

07/18 18:19, , 14F
算是個提醒, 終於跑完了. 這樣.
07/18 18:19, 14F

07/18 19:09, , 15F
謝謝E大和W大 我先試試看再請教
07/18 19:09, 15F

07/19 04:06, , 16F
個人習慣啦,哈哈,現在系統串接都是用Rscript
07/19 04:06, 16F
文章代碼(AID): #1LgRyQRX (R_Language)
文章代碼(AID): #1LgRyQRX (R_Language)