小编Zoë*_*ark的帖子

打印时保持R Markdown语法高亮显示

我担心会有这样的反应:"Markdown本来就很简单而且不会这样做",但它(几乎)从来都不会伤害.

在编写R Markdown文档时,我可以在浏览器中查看HTML文件,它看起来很棒.当我尝试以纸张或PDF格式打印时,会打印图中的颜色,但不会显示语法高亮显示.有没有办法在打印时保持语法高亮?

例:

Minimal Example
=====

This text looks great in the file and the plot prints in color, but see commented code     below.

```{r}
# this commented line will be green in the HTML file, but will be black when I print it
z <- cor(mtcars) 
require(lattice) # 'require' will be blue in the HTML file, but will be black when I print it
levelplot(z)
```
Run Code Online (Sandbox Code Playgroud)

我按下RStudio中的"Knit HTML"按钮并在Chrome或Safari中打开HTML,没有任何问题.如果我从浏览器中打印HTML,则所有语法突出显示都将丢失.

markdown r rstudio knitr

11
推荐指数
1
解决办法
1908
查看次数

Rcpp糖功能列表?

我刚开始使用Rcpp并想知道是否存在Rcpp糖功能列表.在翻译我的一些缓慢代码到C/C的过程++我需要通过基础R的功能,如提供的功能match,tabulatewhich.

根据Hadley的高级R书 match的实施,Rcpp-sugar插图列出了一些可用的功能,虽然它看起来并不全面.

我真正想知道的是:有没有办法在包装文件或其他地方找到什么甜蜜甜蜜的功能以及我必须为自己写的东西?对于任何其他R包我直接去,R> help(package = "Rcpp")但在这种情况下似乎没有多大帮助.

c++ r rcpp

11
推荐指数
1
解决办法
3688
查看次数

在R中保存工作区(在特定框架中)进行事后调试

在调试一些R代码时,我想将工作区(即所有当前对象)保存在某个特定的框架中,以便我可以在调试浏览器之外使用这些对象.按照这个答案给出的例子:

x <- 1:5
y <- x + rnorm(length(x),0,1)
f <- function(x,y) {
  y <- c(y,1)
  lm(y~x)
}
Run Code Online (Sandbox Code Playgroud)

设置options(error = recover)和运行f(x,y)允许我们选择要输入的帧.在这里,我将选择2并检查我的工作区,ls()如下所示:

Browse[1]> ls()
 [1] "cl" "contrasts" "data" "formula" "m" "method" "mf" "model" "na.action" "offset" "qr"         
[12] "ret.x" "ret.y" "singular.ok" "subset" "weights" "x" "y"
Run Code Online (Sandbox Code Playgroud)

我希望能够保存所有这些对象以便以后使用它们.save.image()在浏览器中使用,或将其插入相关功能,保存f(x,y)最初调用的环境.我可以使用dump.frames()并调用debugger()生成的类dump.frames对象,但我仍然需要在调试浏览器中以交互方式工作.我真正想要的是一个.RData包含上面列出的18个对象的文件.

所有这一切的重点是在R Markdown文档中重现某些错误.如果有人对该特定应用有所了解,我们将不胜感激.

debugging r r-markdown

5
推荐指数
1
解决办法
770
查看次数

更改多语言knitr/RMarkdown文档中的提示

我正在编写一个.Rmd显示bash命令和R命令的文件.有没有办法区分具有R代码的块与具有bash代码的块?有一个knitr chunk选项可以将R命令提示符插入一个块中

```{R, prompt = "true"}
plot(rnorm(100))
```
Run Code Online (Sandbox Code Playgroud)

> plot(rnorm(100))
Run Code Online (Sandbox Code Playgroud)

但对于bash大块这个

```{bash, prompt = "true"}
pandoc --version
```
Run Code Online (Sandbox Code Playgroud)

变成了这个

> pandoc --version
Run Code Online (Sandbox Code Playgroud)

当我更喜欢这个

$ pandoc --version
Run Code Online (Sandbox Code Playgroud)

bash r knitr r-markdown

5
推荐指数
1
解决办法
290
查看次数

防止在R Markdown/knitr输出中包含简短注释

是否有可能获得代码块tidy,同时单独留下评论?

假设我想在一个函数的某些注释中放入ASCII艺术,我可以设置tidy = F但是其余的代码块是"杂乱的",如下面的输出:

myfun=function(a,b){
  ##     ^_^
  ##    {o,o}
  ##    |)__)
  ##-----m-m-----
  c=sum(a,b)
  return(c) 
}
Run Code Online (Sandbox Code Playgroud)

如果我设置tidy = T然后短评论全部包装在一起,我得到以下输出:

myfun = function(a, b) {
    ## ^_^ {o,o} |)__) -----m-m-----
    c = sum(a, b)
    return(c)
}
Run Code Online (Sandbox Code Playgroud)

我想看到的是以下输出:

myfun = function(a, b) {
    ##      ^_^
    ##     {o,o} 
    ##     |)__)
    ## -----m-m-----
    c = sum(a, b)
    return(c)
}
Run Code Online (Sandbox Code Playgroud)

markdown r rstudio knitr

4
推荐指数
1
解决办法
341
查看次数

在Python中只打印一定数量的字符

可能重复:
在Python中用块(n)迭代迭代器?

假设我有一个492个字符的字符串存储在一个变量中.如何打印前50个字符,然后转到下一行,然后打印出下一个50,最后打印一个包含42个字符的行?

python string

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×5

knitr ×3

markdown ×2

r-markdown ×2

rstudio ×2

bash ×1

c++ ×1

debugging ×1

python ×1

rcpp ×1

string ×1