经贸数据课件-5.研究可重复_第1页
经贸数据课件-5.研究可重复_第2页
经贸数据课件-5.研究可重复_第3页
经贸数据课件-5.研究可重复_第4页
经贸数据课件-5.研究可重复_第5页
已阅读5页,还剩21页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、可重复的研究问泉哪得清如许,为有活水来1.1何谓研究的可重复性?所谓研究的可重复性,就是确保能够用作者所提供的方案和材料将研究结果重现出来。1.2为何需要可重复的研究?可重复性可以保证科研成果的严谨性和透明性,可较好地促进科研能够健康可持续地发展。重视并坚持可重复性将成为学术领域的发展趋势。2014年6月,来自30多家生物医学类学术期刊的编辑、基金资助机构和一些学术机构的首脑们在

科学促进会总部,对关于临床前生物医学研究的原则和准则,及如何实现研究可重复性的目标进行了

。会议的参与人包括NIH、《自然》和《科学》杂志。二、文学化编程路漫漫其修远兮,吾将上下而求索!文学化编程(LiterateProgramming)是Knuth(1984)大神提出来的一种编程范式,它与传统的结构化编程不同。结构化编程就是写那些循环(for/while)、选择分支(ifelse)、函数模块之类的代码,让计算机去按设定好的程序结构去执行;而文学化编程则是把代码嵌入所谓的文学作品中,之所以说所谓的,是因为这里的文学不一定真的是那种常规意义下的文学,只是指人类语言而已2.1

文学化编程简介文学化编程的思想很简单:代码和正文混和在同一个文档中,编译的时候既可以把代码抽出来运行得到结果,也可以把正文抽出来形成文档。最初它是为了写

而设计的,这种设计方式的优势显而易见:代码和文档在一起,方便互相更新和照应。把R代码嵌入报告中,编译报告的时候R代码被执行,源文档中的R代码在输出的时候被替换为相应的运行结果,这些结果和原来的报告正文混合起来就形成

了一篇有结果的报告。

只需要

包含源代码的源文档,让结果文档自动生成,而不要手工运行代码并粘贴结果到文档里,这样做既累人又容易出错。记住,只有源代码是可以信赖的。2.2

R+LaTeX=SweaveSweave/LyX/pgfSweaveSweave实际上是由S(代表S语言,也就是R语言它)和weave(编织)组成的,Weave是文学化编程的概念,就是把文字和代码编织到一起。Sweave继承了一个伟大的想法。将LaTeX文档和R代码混合起来,先调用R执行一遍这个文档中有特定标记的代码,并输出相应的结果到这个文档中(源代码都被相应的计算结果代替),然后再调用

LaTeX编译文档为PDF。*.rnw=>*.tex=>*.pdf但在具体实现上走入了一个死角,默认功能不强,扩展性又太差。•2.3和Knitr包knitr这个包的名字是怎么来的呢?我在考虑包的名字的时候,由于满心要对Sweave的各种不利索吐槽,所以我决定给 新包一个利索的名字,英语里说利索通常用neat这个词,而同时编织还有另一个词叫knit,二者发音相近,用它取名可谓一石二鸟,音意两全。knit后面加上字母r也有几重考虑:R代表R语言,为什么小写?因为小写对用户来说输入方便,不用按Shiftknitr看起来和读起来像knitter,谐音neater,充分表达了某种要凌驾于对手之上的情绪,说得不好听就是自恋knitr不是一个正常的英文单词,所以 搜索的第一,方便用户搜到文档,,比如#knitr(

、条确定一定以及肯定会是在各种社交网络上它也可以作为)knitr的九条设计原则:(1)

默认美观knitr默认代码高亮(无论什么输出格式)以及代码重整理,这都是为了增强代码和结果的可读性。formatR包(2)

自然输出同样的代码粘贴在R中看到的结果全部都会在knitr的默认输出中看到,有图出图,有表出表,不需要设置任何选项,一切自然而然。(3)以分析为中心knitr解放了图形大小设置的问题,你可以对每一幅图形设置输出宽度(out.width选项);(4)可重用的输出让那些提示符>和续行符+有多远滚多远!把提示符去掉了,输出也被注释掉,不影响 代码运行。(5)功能模块化knitr的设计主线也就三部分:文档解析器、代码运行器、输出

。一个文档拿来,先抽代码出来,运行它,再根据运行结果写入输出文档。knitr在生成器上解放了生产力,引进了输出钩子函数的概念,让用户可以自定义结果输出方式。(6)好的功能照单全收knitr收录了大多数跟Sweave有关的包的功能,这些功能基本上都以更简单的代码重写了,tikz图形、缓存和动画功能。(7)照顾初学者如果点一下按钮就能生成结果,那么让用户点就是了,不必非得了解背后是怎么回事。超级简单,你可以在 之内基本学会它的用法,若再多花点时间,完全有可能学完它的用法,注意是“学完”。(8)开放源代码knitr里除了几乎处处开放,举一个小例子:尽管knitr基于R,但它不一定非得运行R代码,如果你乐意,你可以嵌入Pytho

的运行代码部分,其它n或AWK或其它语言代码,这体现在engine参数上。(9)文学化编程文学化编程(Literate

Programming)是整个设计的思想,但过去的模式局限在“代码+文档”的简单模型上,knitr使得一份文档变得可编程。July

26,

2013July

15,

20132.4

knir+pandoc=>rmarkdown包直接将markdown文件转换为PDF直接将markdown文件转换为Word直接将markdown文件转换为HTML问题:在支持中文方面目前尚欠佳三、可重复研究的实践大道之行也,天下为公!4.1

工具准备Rstudio:

http

/安装knitr:install.packages+librarayPandoc:安装rmarkdown:

/install.packages+libraray4.2

markdown写作语法(1)代码块及正文markdown文档:*.Rmd```{r

*}代码```正文*.Rnw文档=>pdf<<*>>=代码@正文(2)内联代码markdown文档:*.Rmd正文`r

代码`正文*.Rnw文档=>pdf正文\Sexpr{代码}正文(4)简单字体**加粗**-斜体-**-斜体-**(3)标题#一级标题##二级标题###三级标题####四级标题#####五级标题或一级标题================二级标题(6)超[文字](url)![image](url)(7)公式$

equation

$$$

equation$$(5)列表无序列表List

itemList

item有序列表item

1item24.3

自动化生成报告方法一:一键生成直接点击Rstudio中的转换按钮方法二:命令生成利用rmarkdown包中的render命令将*.Rmd文档转换为任意类型的文件(包括pdf,html和word)render(“*.Rmd","pdf_

")render(“*.Rmd",“html_

")render(“*.Rmd",“word_

")render(“*.Rmd",“all")四、进一步的学习学无止境!学然后知不足,教然后知困。:h/course/535.html:h/course/526.html•

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论