gallery代码怎么运行_轻松把r代码变成漂亮文档

轻松把r代码变成漂亮文档,往下看吧

首先,

来给你一个最直观的对比

丑陋

文档

V

S

漂亮

文档

e21de3cf3fe42199ff6bad7f3cc94a95.png 6c95fa488b60155626e025c0b2e12f3a.png

对比起来,你是否会感觉后者更加让人赏心悦目呢?

Why

有朋友可能要问了,我们为什么要把 r 代码转换为文档呢?

我来告诉你,本来我们为了得到数据分析报告要做4项工作:首先,码代码跑程序;然后,下载结果图表;之后,在word中写报告;最后插入图表,调格式。

现在的话呢,只要写程序就可以转换为word文档啦,一步搞定。关键是代码和图表都很美观,代码的美观表现在代码是按语法着色的噢。

试想,如果你把这么一串 r 代码在Rstudio中运行之后会是怎样的结果呢?

#' ---
#' title: "我是文档的标题"
#' author: "我是作者"
#' date: "现在是`r Sys.Date()`"
#' ---
#'图形的尺寸的设置

#+ fig.width=5, fig.height=5
# 构建一个调色板
pal=colorRampPalette(c(rgb(1,0,0,0.5),rgb(0,0,1,0.5)), alpha = TRUE)(3)
# 绘制散点图矩阵
plot(iris, pch=19, col=pal[iris$Species])
#'
#'表格格式的设置
library(knitr)
kable(head(mtcars), caption = "我是表格的标题")
# 不显示表格的行名称
kable(head(mtcars),row.names = FALSE)
# 没有内部的补空
kable(head(mtcars), padding = 0)
# 有2个补空
kable(head(mtcars), padding = 2)
x = as.data.frame(matrix(rnorm(60, 1e+06, 10000)/100, 10))
# 使用"."作为小数点,"’"作为千分隔符的数字,规定数字的显示格式
kable(x, format.args = list(decimal.mark = ".", big.mark = "'"))
#给每个列设置不同的小数位数kable(data.frame(matrix(rnorm(20),4,5)), digits=c(1,2,3,4,5))

当当当当,答案就是这样。。。。。。

9fc92fcc76896f552df7584cf9545c8a.png

几个表格都杂乱无章,毫无美感可言,是不是让人看的头皮发麻呢。

那么接下来,就让我来教你如何让它华丽变身吧!

What

有朋友又要问了,要实现这样的变化,我们需要用到什么炫酷的工具呢?

答案就是 R Markdown。

R Markdown是通过R语言制作动态文档的文件格式,它可以将rmd文档转换为docx文档或者html文档。

OK,工具有了,那操作起来会很复杂吗?

这一点你完全不用担心,连小白都能操作哦。

其实,只要在Rstudio中对脚本文件用【Ctrl+Shift+K】就可以进行转换了。(将R脚本编译为word文档)

惊不惊喜,意不意外!就这么简单!

How

好啦,准备好你的 r 代码,让它华丽变身吧!

Step1

在Rstudio中新建一个文件,将 r 代码复制粘贴进去,然后按下快捷键【Ctrl+Shift+K】,就会出现这样一个操作框,选择UTF-8即可,就会将其保存为R文件。

5217db2c33d9f586b7c7235992e61c44.png 40554343044107d5d3e5e6799e9a6c2c.png

Step2

之后会出现这样一个操作框,在下拉菜单中选择Word,随后,R Markdown就开始工作啦。

4bcffd02582067943a3fe944c053598b.png 7ecbeb14a5065c6cbfe14df9ef71841c.png

Step3

R Markdown 运行完成之后,你的电脑后台就自动打开了Word,而杂乱的 r 代码就转换成了整齐有序的docx文档啦!

85e6c380d61d34dd11f49daf21b3e5d7.png

你看,是不是整洁又美观了呢。此时,你就可以直接在word里面撰写报告啦,而且可以很好的将文档保存在电脑中哦。

问题

01

如何给转换后的文档加标题和作者?

· 简单来说,就是在行首加 #' 后面跟markdown的内容即可。

· #' 被称为 roxygen2风格的注释。

· 一个特殊格式的 r 注释中包含元数据

#' ---
#' title: "Crop Analysis Q3 2013"
#' author: "John Smith"
#' date: "May 3rd, 2014"
#' ---

· 注意,上面用于添加标题、作者和日期的 r 注释包含一个作为特殊前缀字符的单引号 #'。这是一个 roxygen2 something 风格的注释,实际上可以在一个 r 脚本中包含许多这样的注释,所有这些注释都将被转换为编译报告中的markdown内容。

· 任何 roxygen2 风格的注释都不会在编译报告中显示为 r 注释,而是作为 markdown 处理并相应地显示。

    #' A script comment that includes **markdown** formatting.

· 不要烦每行都要输入#',如果连续输入,回车就自动帮你输入了#',开不开心呀!

问题

02

如何设置转换后图的大小尺寸等属性?

· 简单说,只要在该块前的一行行首#+后面跟块的属性设置,如 echo=TRUE,fig.width=5,fig.height=5 等。

· 后台的 knitr::Spin 函数会对你添加的带有特殊注释前缀(# +)的 knitr 块选项进行正确的转换。

例如: #+ fig.width=5, fig.height=5

问题

03

为什么能转换为html,而在转换为docx文档时报错?

可能你正用word打开该文档,这样你就不能在Rstudio中修改该文档了,只要在word中关闭该文档就可以了。

5c9464f328b4e1d73c4b67d8ce5220da.png

总结

1. 只要记住两个符号组合和一个快捷键就OK了

2. 在#'后跟markdown的内容

3. 在绘图语句前的#+设置绘图程序块的属性

4. 【ctrl+shift+K】,就这么简单

d9a86624612a5345a5ca983f6d2cb99e.png

怎么样,你学会了吗?

赶紧动手实践起来吧!

更多便捷又炫酷的操作等你来解锁哦。

参考资料

[1]  R Markdown 简介 https://zhuanlan.zhihu.com/p/24884324

[2]  参考网页:Compiling Reports from R Scripts

https://rmarkdown.rstudio.com/articles_report_from_r_script.html

[3] 参考网页:Happy collaboration with Rmd to docx

https://rmarkdown.rstudio.com/articles_docx.html

 [4]  参考网页:R Markdown Theme Gallery

https://www.datadreaming.org/post/r-markdown-theme-gallery/

3aa861649d1efaf6447bcebf6f15289f.png 18f5745d4a113b600238120c9ffb682f.png

文字/曲亚攀

排版/曲亚攀

指导老师/朱振涛

-  END -

93b72806a69c49cc956c567ff8ef89aa.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值