dapengde Liechi 你们有时间加入编辑谢大 yihui 的现代统计图形书稿吗?我建了个仓,现在只需把每一章节放在 R Markdown 文件里,上传到这个仓库就可以了 <https://github.com/XiangyunHuang/MSG-Book> 每一章节可自行更新过时的内容,甚至替换
请问如何用ggplot画出曲线簇?
- 已编辑
yihui 你想怎么折腾就怎么折腾吧。我感觉这会是严酷的体力活儿。
dapengde 根据谢大的指示,我觉得我们有相当大的自主权,
- 首先尽量搬迁,如果有难以重现的可以暂不搬迁,在相关地方注明即可,我希望能在 R Markdown 中运行的就在里面运行,比如生成图形和模型计算,如果有耗时长的操作,可以不运行,贴结果
- 要不我来序言、第1、3、5、7章,附录 A、C,你来2、4、6章,附录 B、D,如果有人加入,再从你我的章节中各分一些给他
- 首先下载安装 LyX 我选了就近的站点 <https://mirrors.tuna.tsinghua.edu.cn/lyx/bin/2.3.3/> 下载,然后用它打开
Modern-Stat-Graphics.lyx
或者依据Modern-Stat-Graphics.tex
文件复制文字(我没找到更方便的转化方式),把文字复制出来后,再在相应的地方以 R Markdown 的方式把 R 代码块和图片插入 - 我已经加你为项目合作者,你要接受一下,然后可以直接推动修改到仓库了
- 由代码自动生成的图片,暂不调长宽比等格式,首先尽量把内容复现就好
- 参考文献和章节的引用可以暂时不搞,先解决图、表的交叉引用
- 已编辑
Liechi dapengde fork commit push merge 会这些基本就够了。如果再遇到什么其它的操作可以参考这个查询手册 <https://github.com/521xueweihan/git-tips> 然后就是放狗搜,最后就是拿出来问,比如我以前问的 <https://d.cosx.org/d/420426>
Liechi 如果真的那么惧怕 Git 不妨先 fork 这个项目,然后在自己 fork 的项目里修改, RStudio 里提交 commit,推送到 Github 后,手动提交 PR。大多数情况下,我也是在 RStudio 里弄
- 已编辑
然后用它打开 Modern-Stat-Graphics.lyx 或者依据 Modern-Stat-Graphics.tex 文件复制文字(我没找到更方便的转化方式),把文字复制出来后,再在相应的地方以 R Markdown 的方式把 R 代码块和图片插入。
我用了一个稍微省事的办法:先用 pandoc 把 tex 文件转成 markdown,再把后者拷贝粘贴进 .Rmd文件。
pandoc 转换全书的话出错。我就只转了第 2 章,尚可。只是代码部分全丢失了,需要从 lyx 文件里手动拷贝粘贴。不过这样也有好处,就是顺便把 sweave 的图片选项也拷进了 .Rmd 的 chunk 选项里,最大程度保持跟原稿的一致。
- 已编辑
dapengde 我就是这么干的,除非图、表的引用有问题,比如我看到图的 chunck option 里有这样的标签heart_curve
我就把它改为 heart-curve
。
至于文中还没有说明需要哪些 R 包,我们暂不添加类似安装 R 包的代码
if(!require('MSG')) install.packages('MSG') # 安装本书配套的MSG包
一方面是我打包镜像的时候几乎把所有需要的 R 包都打包了,如果本地缺的话,就自己安装下。
另一方面是我觉得 @yihui 有必要在合适的地方添加一小节说明本书用了哪些 R 包,至少提供 xfun::session_info(pkgs)
,这是他的一贯做法,我也比较喜欢这种方式。或者告诉读者怎么获取和使用我打包的镜像文件,以及如何在容器中编译书籍,这个过程其实我公开了,目前,我让 Travis 就是这么干的。基本上不用操心依赖问题,我来操心就好了!
- 已编辑
Cloud2016 好,就按你说的办。
此外,关于体例,原稿里说:
正文中的代码以等宽正体表示,如“inline R code ”,函数名称以斜体表示,如“function() ”,对象类名称和参数名称用无衬线字体表示,如“class using sans serif ”,R 程序包用粗体表示,如“package ”...
我看到你在“导读”里将函数名以行间代码的等宽字体来表示,而我在第 2 章是按原稿的斜体处理的。这一点还是事先统一一下为好,免得返工。
还有,“对象类名称和参数名称用无衬线字体表示”,这个我还没弄懂如何在 bookdown 里实现。
关于书稿里要不要安装包的代码,我的考虑是用户下载这个项目后可以直接本地编译成书,一气呵成。如果另辟章节说明,对于初级用户可能是个障碍。我觉得折中的方法是让这段代码以 echo=FALSE
的形式偷偷藏在书稿里。
楼歪太多了,真不知道要不要另开一帖。
dapengde 没有什么特别考虑,因为 LaTeX 太灵活了,所以各种花里胡哨的字体格式都用上了(即拿着锤子就想着找钉子)。现在我肯定不会用这么多种样式。近年来我只用加粗(包名,双星号)和等宽字体(代码,反引号),不再作更细致的区分:https://bookdown.org/yihui/rmarkdown/software-info.html