看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用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
Wush978: shiny的程式碼有分global(restart server才會重載) 06/20 02:24
Wush978: per session(開視窗才會重載)的部分 06/20 02:25
Wush978: 你應該放在global的部分就可以了 06/20 02:25
Gladstone: 推。剛好我也遇到這個問題 06/20 11:57
cywhale: 謝謝Wu global應是放在shinyServer()前load 但就要等 06/20 12:02
cywhale: 第一次load約5-10min這時shiny apps是一片空白不知情 06/20 12:03
cywhale: 使用者大概以為當掉了..我是在想怎樣在背景load進資料 06/20 12:03
cywhale: 等user開啟shiny apps就可以直接query呈圖... 06/20 12:04
Wush978: 不如每次restart server都先手動開網頁? 反正應該不會 06/21 03:50
Wush978: restart太多次... 06/21 03:50
cywhale: 搞錯bigmemory用法 不用另開session load object in mem 06/22 23:10
cywhale: 只要產生descriptor file在其他R session都可以用 很快 06/22 23:12
cywhale: 所以第一問題迎刃而解,剩下第二問題我再想辦法試試 06/22 23:13