2016 年 8 月 3 日,DataJoy 联合创始人 James Allen 和 Henry 向所有用户发送关站预告。宣布网站将于 2017 年 1月 2 日关闭,届时账户将不再能登录,已付费用户账户余额将会退回。 DataJoy 是 ShareLaTeX 团队两年前上线的云计算项目。在 DataJoy 网站上,可以使用 Python 和 R 进行数据分析和编程学习。任何电脑,只要打开浏览器登录 getdatajoy.com 这个网站,就可以立即进行 Python 和 R 编程、调试、分析数据、输出结果,便于程序设计教学,免去了所有编程课程第一课安装软件配置环境的混乱场面,可以直接上手干活。而且一套稳定、随时随地可以访问、还可以简单克隆的环境,为从业人士提供了一个稳定、容易拓展和分享的标准工作环境。 DataJoy 团队在给用户发送的关站预告 email 里面说,市场上本已有很多成功竞品,所以竞争激烈。过去两年来,虽然 DataJoy 对少数用户很有帮助,但并没有大规模的流行起来。虽然,有些老师用 DataJoy 来进行 Python 和 R 的教学,但这并不足以支撑 DataJoy 的持续发展。商业上无法取得成功,技术团队还要维护 ShareLaTeX,就只能选择关闭 DataJoy 了。 简单来说,就是商业模式无法持续,没有盈利与投资,因此不得不关站。这其实也可以从一些侧面得到验证。在中文科技媒体上,完全没有任何相关新闻,只有一个旅欧学者的博客提到了这次关站事件。因此不得不说,DataJoy 在推广上确实还是做得很不够。 我也曾使用 DataJoy 进行过数据分析实验,甚至在其上跑通过 Keras 深度学习识别 MNIST 字符代码例子。但在进行我自己的卷积神经网络实验的时候,DataJoy 的运算能力就远远不够了。本身 DataJoy 服务器的运行速度相对就比较慢,又设置了单个项目的运行时间的限制,即使我付费购买延长项目运行时间之后,也远远不够进行实验所需的运算能力。这里可能也是与 DataJoy 网站的市场定位有关。DataJoy 与 Sense 的定位不同,不是专门针对数据分析,而是针对编程入门教育。但其实也很有可能是因为 DataJoy 的运算能力有限,使得其只能被限制在教育和运算能力有限的应用上。但 DataJoy 的界面与交互确实还是非常贴心的,毕竟有 ShareLaTeX 维护的经验。 单纯从站点本身的功能来看,DataJoy 并不突出,但考虑到其运营是 ShareLaTeX 团队,它的成长本是非常令我期待的。个中原因有一点复杂,涉及到一个复杂的问题。 在学术领域,科研结果的可重复性,一直是一个令人头疼的大问题。在计算机领域,经常是在发布论文的同时,再发布一份相关方法的代码。但毕竟是两个不同种类的工作,学术文档的撰写和代码的编制,确实很难对照。同时在科研进行的过程中,实验代码的编制与学术文档的撰写截然分开,也造成了科研进程的反复打断与切换的问题。 在R语言方面,近几年出现了一个革命性工具 knitr。 knitr 是由谢益辉博士在统计学博士在读期间业余开发的开源 R 代码包。谢博士毕业后进入 RStudio 公司专职进行 R 语言工具开发。使用 knitr,可以直接撰写带有 R 代码的实验记录、报告和演示文档。文档中的 R 代码,可以直接执行,并将结果输出到文档中,例如实验结果的数据、根据实验所花的折线图和对比实验的结果表格等等。这个流程与程序语言中的 Jupyter 有些类似,代码与文档交替撰写,源代码、数据分析结果与文档交替展现。 不同的是,knitr 可以把 Rmd(R 语言增强的 markdown 变种)编译生成为 text 文档,最终生成学术水准的可出版 PDF 文档。这个方案,使得学术写作、数据分析源代码和实验结果、甚至图表展示都融合到同一个流程中。 首先,对于科研结果的可重复性,读者可以直接运行文档中的代码,重现实验结果。其次,对于科研流程也是极大的简化,科研工作流程及学术写作流程合而为一,得到了极大简化。
knitr 在 Beamer 中嵌入实验代码输出结果的例子。左侧蓝色的是 Rmd 文件原文,右侧是生成的 PDF 演示报告文档。由 `<<>>=` 开始,到 `@` 结尾的 R 代码块会自动运行。其中 `<<>>` 中可以写入对于放入文档的内容的输出控制参数。例如:`<<echo=FALSE,results='hide'>>` 就是抑制 R 环境的输出,完全隐藏运算中间步骤的结果。实验结果也可以直接用 R 语言分析后,直接绘图,并输出到文档中。注:Beamer 是 LaTeX 语言中常用来生成演示报告的宏包。 (责任编辑:本港台直播) |