是否可以在github上放置R代码的自述文件,以显示输出?

时间:2018-08-21 23:18:36

标签: r github markdown r-markdown

最近,我参加了Siraj Raval在Linkedin上发起的 #100daysofmlcode 挑战。我在R中进行所有编码。但是,当我在Github上为我的rcode推送RMarkdown文件或自述文件时,它不会显示从代码生成的输出。这使得观看者很难跟上解释。有没有一种方法可以显示代码和输出,从而使读者更容易理解?我知道他们可以从github提取我所做的更改,并在本地计算机上查看它们。但是考虑到每个人的时间限制,我仍然想知道是否有一种方法可以在github上的自述文件中同时显示Rcode和输出。

谢谢

2 个答案:

答案 0 :(得分:0)

在markdown中,对内联代码使用``,对代码块(多行)使用``````

答案 1 :(得分:0)

GitHub只是一台服务器,它无法处理您的Rmarkdown文件。两种策略是:

  1. 调用文件README.Rmd,然后在其上运行render(),以生成一个包含输出的README.md文件,并将两者都推送到GitHub。
  2. 设置Travis-CI之类的持续集成服务,并指示其呈现自述文件并将结果推回到GitHub。

从技术设置的角度来看,第一个选项是最简单的-您只需render()

第二个选项更方便,但是需要在仓库中进行一些设置,配置Travis以进行构建(但不能基于自己的提交进行构建),并在Travis上设置凭据以将其推回GitHub。为此,您需要一个.travis.yml文件,其外观类似于:

language: r
script:
  - bash renderreadme.sh

在您的仓库中还有一个名为renderreadme.sh的bash脚本文件:

#!/bin/bash
set -o errexit -o nounset
renderreadme(){
  ## Set up Repo parameters
  git init
  git config user.name "your_github_username"
  git config user.email "your_email@example.com"
  git config --global push.default simple

  ## Get drat repo
  git remote add upstream "https://$GH_TOKEN@github.com/$TRAVIS_REPO_SLUG.git"
  git fetch upstream
  git checkout master

  Rscript -e 'rmarkdown::render("README.Rmd")'

  git add README.md
  git commit -m "knit README [skip ci]"
  git push
}
renderreadme

您将需要使用the travis client(或类似方法)来存储脚本中的git push操作成功所需的安全GitHub凭据。 "Building an R Project"中有关Travis的一般指南将对这些一般配置方面很有用。