ITPub博客

首页 > > > R语言交互式表格操作

R语言交互式表格操作

作者:浪花小雨滴 时间:2019-09-22 10:23:05 0 删除 编辑

作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言高效数据处理指南》(《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书)。知乎专栏:R语言数据挖掘。邮箱:huang.tian-yuan@qq.com.欢迎合作交流。


虽然R在可视化方面非常自由灵活而美丽,但是在表格可视化方面,好像还略微没有跟上。比如典型的科研作图中,如果要做一张标准的三线表,还是以csv格式导入到Excel中然后交互式地设置格式更为方便。最近读到这么一篇文章,让R用户看到了新的方向。

Forget about Excel, Use these R Shiny Packages Instead - Appsilon Data Science | End­ to­ End Data Science Solutions​appsilon.com图标

上面的文章中介绍了多个解决表格交互式操作的R包,包括:

DT: DT: An R interface to the DataTables library

DTedit: jbryer/DTedit

rhandsontable: jrowen/rhandsontable

excelR: A Wrapper of the 'JavaScript' Library 'jExcel'

formattable: renkun-ken/formattable

rpivotTable: smartinsightsfromdata/rpivotTable

对于个人来说,重要的参考,首先是rhandsontable能够直接调用sparkline进行作图,这样就能做出这样的图出来:

首先只要认为设定转化为json格式即可,代码是这样子的:

DF$chart = c(sapply(1:5,
                    function(x) jsonlite::toJSON(list(values=rnorm(10),
                                                      options = list(type = "bar")))),
             sapply(1:5,
                    function(x) jsonlite::toJSON(list(values=rnorm(10),
                                                      options = list(type = "line")))))

有意思的是,这个代码生成之后,我们可以在表格生成之后人为交互式地改变所有的表格数值,比如:

这样我们就可以随心所欲地改变这些图的格式了。我以前用DT调用sparkline也做出过这样的图,但是在设置这些数字的时候还是花了一点心思,因此能够交互操作时很棒的。

如果后面能够把在R中生成的数据框自由地定制成报告或论文中能够直接用的表格,还能够直接插入到Office中,那么就太美妙了!


补充一下:刚刚试了table1这个包,发现它确实能够直接生成三线表,真的是不错。步骤是,首先生成html,如果在rstuio中就另存为html,然后把html中的内容复制粘贴到word即可。table1的链接如下:

CRAN - Package table1​cran.r-project.org

不过table1只针对列联表这种情况,对于表格可视化而言,还有flextable和huxtable包这些方案。但是迄今为止,还是没有找到特别好的办法,现在还是老老实实导出csv去Excel操作。

原文作者:;如有侵权,请联系管理员删除。

下一篇: 初识SQL Server 2017
请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    39945