【问题标题】:Use a variable name with spaces inline in R markdown在 R markdown 中使用内联空格的变量名
【发布时间】:2014-06-29 00:21:02
【问题描述】:

如何包含引用包含空格或其他异常字符的变量名的内联 R 代码(实际用例是 Pr(>F))? Backticks are the solution 在普通的 R 脚本中,但当代码内联在降价文档中时,它们似乎不起作用。这是一个例子:

```{r}
df <- data.frame(mydata= 1:10, yourdata = 20:29)
names(df) <- c("your data", "my data")

```

The first five values of your data are `r df$`your data`[1:5]`

针织时会给出:

Quitting from lines 7-9 (test-main.Rmd) 
Error in base::parse(text = code, srcfile = NULL) : 
  2:0: unexpected end of input
1: df$
   ^
Calls: <Anonymous> ... <Anonymous> -> withVisible -> eval -> parse_only -> <Anonymous>
Execution halted

请注意,这与showing the backticks 不同。我想做的就是在编织文档时执行代码。我的解决方法是将奇数名称变量的值分配给另一个具有简单名称的对象,该对象位于内联代码之前的块中。但是我很好奇如何用不寻常的名字直接调用内联这些对象。

【问题讨论】:

    标签: r markdown knitr r-markdown


    【解决方案1】:

    在这种情况下可以使用普通引号,

     The first five values of your data are `r df$"your data"[1:5]`
    

    或者说

     The first five values of your data are `r df[["your data"]][1:5]`
    

    【讨论】:

    • 谢谢!就这么简单,我很尴尬我没有在我疯狂的其他方法中尝试它!
    • 大概还有其他情况(ggplot?)这会失败;不幸的是,我不认为 knitr 的模式匹配可以处理嵌套的反引号和原版降价。
    • @baptiste 你是对的。 knitr 无法处理嵌套的反引号。它会在第二个反引号后立即停止。
    猜你喜欢
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多