Re: [問題] R讀取JSONL(or JSON)格式的dataset

看板R_Language作者 (天)時間9年前 (2016/10/29 00:02), 9年前編輯推噓3(301)
留言4則, 4人參與, 最新討論串3/3 (看更多)
※ 引述《pp61022 (fight)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 請簡略描述你所要做的事情,或是這個程式的目的 : 我在kaggle看到一個dataset, : https://www.kaggle.com/roamresearch/prescriptionbasedprediction : 想要把他下載下來轉成Rdata檔, : 但是他是JSONL的格式,但好像也算是JSON格式?! : (網站說明:The file is in JSONL format (one JSON record per line)) : 有搜尋一些R讀取JSON格式的方法, 但還是沒辦法出來, : 想請教版友們該如何修改才能正常讀取這種格式的dataset : (我剛學R, 對於某些程式碼還不熟, 不清楚應該如何debug) : [程式範例]: : 張貼能夠重現錯誤的程式碼,可以幫助版友更快的幫你解決問題 : http://ideone.com/PL9XJq : 讀到CleanData<-do.call("rbind", person)出現warning message,但我不知道該如何修 : 正 : : Warning message: : In rbind(provider_variables = list(settlement_type = "non-urban", : : number of columns of result is not a multiple of vector length (arg 1) : [環境敘述]: : 請提供 sessionInfo() 的輸出結果, : 裡面含有所有你使用的作業系統、R 的版本和套件版本資訊, : 讓版友更容易找出錯誤 : R version 3.2.3 (2015-12-10) : Platform: x86_64-w64-mingw32/x64 (64-bit) : Running under: Windows 7 x64 (build 7601) Service Pack 1 : locale: : [1] LC_COLLATE=Chinese (Traditional)_Taiwan.950 : [2] LC_CTYPE=Chinese (Traditional)_Taiwan.950 : [3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 : [4] LC_NUMERIC=C : [5] LC_TIME=Chinese (Traditional)_Taiwan.950 : attached base packages: : [1] stats graphics grDevices utils datasets methods : [7] base : other attached packages: : [1] rjson_0.2.15 : loaded via a namespace (and not attached): : [1] tools_3.2.3 : [關鍵字]: : 選擇性,也許未來有用 : 我有參考https://goo.gl/EEdGxP 這個網站的寫法 試試看ndjson這個套件吧 他可以正確解析jsonl 並且速度也不慢,以下是測試code library(ndjson) jsonlFileName <- unzip("prescriptionbasedprediction.zip", list = TRUE)$Name unzip("prescriptionbasedprediction.zip") df <- stream_in(jsonlFileName) 用ndjson是目前看到最快的方法XDD ndjson是八月新出的套件... 玩一下覺得還不錯XDD 而且這資料怎麼那麼大,吃掉我快10G的記憶體= =.... 讀要好久,用readLines + sapply + fromJSON的時間超久... 久到完全不想等Orz 補充一點,ndjson讀進來是data.table -- R資料整理套件系列文: magrittr #1LhSWhpH (R_Language) https://goo.gl/OBto1x data.table #1LhW7Tvj (R_Language) https://goo.gl/QFtp17 dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/GcfNoP tidyr #1Liqls1R (R_Language) https://goo.gl/pcq5nq pipeR #1NXESRm5 (R_Language) https://goo.gl/cDIzTh -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.128.86 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1477670532.A.716.html ※ 編輯: celestialgod (114.38.128.86), 10/29/2016 00:03:44 ※ 編輯: celestialgod (114.38.128.86), 10/29/2016 00:03:52

10/29 01:31, , 1F
讚讚
10/29 01:31, 1F

10/29 07:02, , 2F
first see ndjson~~ thanks~
10/29 07:02, 2F

10/29 10:51, , 3F
10/29 10:51, 3F

10/29 11:48, , 4F
哇! 這方式好快啊!謝謝版主大大
10/29 11:48, 4F
文章代碼(AID): #1O4tQ4SM (R_Language)
文章代碼(AID): #1O4tQ4SM (R_Language)