我们可以传入list或者json字符串做非结构化数据的可视化。
library(xmlview) library(jsonlite) devtools::install_github("hrbrmstr/jsonview") jsonview::json_tree_view(fromJSON("https://collector.torproject.org/index.json"))
下面是timelyportfolio提供的一个结合shiny和jsonview的json编辑器的例子:
install.packages("shiny") devtools::install_github("timelyportfolio/listviewer") library(shiny) library(listviewer) # 数据准备 data(mtcars) ui <- shinyUI( fluidPage( jsoneditOutput( "jsed" ) ) ) server <- function(input,output){ output$jsed <- renderJsonedit({ jsonedit( as.list( .GlobalEnv ) ,"change" = htmlwidgets::JS('function(){ console.log( event.currentTarget.parentNode.editor.get() ) }') ) }) } runApp( list( ui = ui, server = server ) )接着,在浏览器中的对应端口可以打开这个json编辑器应用。
尾注除了JSON之外,和NoSQL数据库的交互在大数据时代也成为了主流,混合使用Redis、Hive、MongoDB等数据库也成了家常便饭,具体操作可以翻看张丹老师的 R利剑NoSQL系列文章 。
参考资料A biased comparsion of JSON packages in R
任坤:跳出数据框,拥抱非结构化数据
rlist-tutorial
jsonview GitHub
作为分享主义者(sharism),本人所有互联网发布的图文均遵从CC版权,转载请保留作者信息并注明作者 Harry Zhu 的 FinanceR 专栏: https://segmentfault.com/blog/harryprince ,如果涉及源代码请注明GitHub地址: https://github.com/harryprince 。微信号: harryzhustudio
商业使用请联系作者。