[問題] shiny R能否使用bigmemory shared memory

看板R_Language作者 (cywhale)時間9年前 (2015/06/19 20:40), 編輯推噓2(2011)
留言13則, 3人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 請把以下不需要的部份刪除 使用者(已經有用R 做過不少作品) 寫過一個shiny app [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 我有一筆約5G資料,若想在shiny apps一開始load (只要load一次),但即便用 bigmemory read.big.matrix 也大概要等4, 5分鐘,系統就會等在那。 看到bigmemory package提供在不同R session中 可share相同的資料 (參考做法:http://www.slideshare.net/bytemining/r-hpc p15,16) 冒出個想法,是否可以在 shiny server.R被叫用時,我也事先啟動另一個在背景的R session 做 read.big.matrix()(應該說是一直存在的persistent data..) , 那server.R就可直接attach.big.matrx 抱歉我只有概念還不知道這部分該怎麼寫code,或是有其他更快更好的方法也歡迎建議~ ==== 第二個問題是這筆 5G的資料是解析度最細的 (long, lat,....),打算resample後另存 coarse_data,呈圖時先用 coarse_data,等到使用者放大地圖後再繪上精細的資料。 我現在用leaflet呈圖大致像 leaflet(cities) %>% addTiles() %>% addPolygons(...) %>% setView(lng, lat, zoom) 我是否可以取得client端user滾動滑鼠放大縮小底圖時所見的視框 lng, lat範圍或 zoom參數,並忽略中間連續快速滾動的過程,在他停下動作後才依據這些參數重新計算 資料,更新addPolygons(...)中的內容? 兩個問題也請各位先進指教~ 謝謝 [程式範例]: 張貼能夠重現錯誤的程式碼,可以幫助版友更快的幫你解決問題 建立重現錯誤的方法可以參考: 抱歉我只有概念還不知道這部分該怎麼寫code... [關鍵字]:Shiny, bigmemory, leaflet -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.252.43.84 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1434717601.A.CE1.html

06/20 02:24, , 1F
shiny的程式碼有分global(restart server才會重載)
06/20 02:24, 1F

06/20 02:25, , 2F
per session(開視窗才會重載)的部分
06/20 02:25, 2F

06/20 02:25, , 3F
你應該放在global的部分就可以了
06/20 02:25, 3F

06/20 11:57, , 4F
推。剛好我也遇到這個問題
06/20 11:57, 4F

06/20 12:02, , 5F
謝謝Wu global應是放在shinyServer()前load 但就要等
06/20 12:02, 5F

06/20 12:03, , 6F
第一次load約5-10min這時shiny apps是一片空白不知情
06/20 12:03, 6F

06/20 12:03, , 7F
使用者大概以為當掉了..我是在想怎樣在背景load進資料
06/20 12:03, 7F

06/20 12:04, , 8F
等user開啟shiny apps就可以直接query呈圖...
06/20 12:04, 8F

06/21 03:50, , 9F
不如每次restart server都先手動開網頁? 反正應該不會
06/21 03:50, 9F

06/21 03:50, , 10F
restart太多次...
06/21 03:50, 10F

06/22 23:10, , 11F
搞錯bigmemory用法 不用另開session load object in mem
06/22 23:10, 11F

06/22 23:12, , 12F
只要產生descriptor file在其他R session都可以用 很快
06/22 23:12, 12F

06/22 23:13, , 13F
所以第一問題迎刃而解,剩下第二問題我再想辦法試試
06/22 23:13, 13F
文章代碼(AID): #1LX0sXpX (R_Language)
文章代碼(AID): #1LX0sXpX (R_Language)