我试图在高层次上理解R Markdown和之间的区别R NoteBook.我知道它们是相互关联的,但我想弄清楚它们是如何相关的.我的理解是这样的:
我知道RNotebooks真的是R Markdown文档,但我对术语感到困惑.
RStudio新文件选项有R Markdown和,R NoteBook并且选择其中任何一个打开R Markdown文件但有细微差别.所以只是想弄清楚为什么有两种选择,两者之间有什么区别?
我知道R笔记本是新推出的,R Makrdown已经存在了一段时间.部分混乱可能是因为我R Markdown在引入R Notebook之前从未使用过,所以我的相关或更具体的问题是
什么是R NoteBook不同于仅使用R MarkDown或R NoteBook带来了哪些新功能?
我在网络搜索上的所有点击都指出R笔记本使用R Markdown但我没有找到任何帮助,两者之间的具体差异.
我开始使用RStudio笔记本,我仍然试图了解一些工作原理.我不明白为什么在执行与消息完全无关的代码时会保留并显示某些生成的警告消息.例如,我有一个包含多个块的文档,其中最后一个生成警告
> warnings()
Warning messages:
1: Unknown or uninitialised column: 'perc.goal.met.period'.
2: Unknown or uninitialised column: 'perc.goal.met.period'.
3: Unknown or uninitialised column: 'perc.goal.met.period'.
4: Unknown or uninitialised column: 'perc.goal.met.period'.
5: Unknown or uninitialised column: 'perc.goal.met.period'.
6: Unknown or uninitialised column: 'perc.goal.met.period'.
7: Unknown or uninitialised column: 'perc.goal.met.period'.
8: Unknown or uninitialised column: 'perc.goal.met.period'.
9: Unknown or uninitialised column: 'perc.goal.met.period'.
10: Unknown or uninitialised column: 'perc.goal.met.period'.
11: Unknown or uninitialised column: 'perc.goal.met.period'.
12: Unknown or uninitialised column: 'perc.goal.met.period'.
13: Unknown or …Run Code Online (Sandbox Code Playgroud) 当我运行我的R studio笔记本时,数据帧/表默认为10行.如何显示20行?
同样,如果我有很多列,我必须单击右上角的"下一步"按钮查看其他列.如何同时显示所有列?浏览器肯定有足够的空间来查看更大的表,但这可能是另一种可能的解决方案,可以同时查看所有列:缩小每列中的字体?如果是这样,我该怎么做?
这与"视图"功能不同,因为它是笔记本,数据帧的可视化与R studio中的常规R可执行文件不同.而不是视图功能,我使用head(x,20)函数来显示前20行,但是笔记本让我点击第2页标签以查看接下来的10行.
我已经知道如何将youtube视频嵌入到R Markdown文档中.但假设我有离线视频,我不想以mp4或avi格式发布.有没有办法将其嵌入文档?类似下面的内容(从图像嵌入中获取灵感):

Run Code Online (Sandbox Code Playgroud) 我正在使用R笔记本.这是我的大块:
```{r}
test = matrix(rnorm(200), 20, 10)
pheatmap::pheatmap(test)
```
Run Code Online (Sandbox Code Playgroud)
我想这是由于pheatmap生成绘图的方式,但它实际上首先生成一个空白的图.因此,这是我看到的输出:

如何摆脱第一张图片?我在RStudio输出(上面的截图)和.nb.html文件中看到了它.如果我编织HTML,空白图不存在.
我尝试了不同的fig.keep选择.它们在我编织HTML时起作用,但它们似乎对.nb.html文件没有影响.我怎么能摆脱它?
更新:此问题已在pheatmap中修复.它可能仍适用于其他场景.
非常简单的问题:我喜欢写R笔记本/降价促销,并且highlight: tango当我将笔记本编织成pdfs时,我可以为代码提供背景颜色.
但是,我不知道如何给R中的打印输出提供彩色背景或彩色字体.例如,假设我有以下块.
```{r, echo = FALSE}
writeLines("Help")
```
Run Code Online (Sandbox Code Playgroud)
我希望看到"帮助"这个词突出显示,用灰色背景的红色字体说.我怎样才能做到这一点?
提前谢谢了.
有一些问题已经存在,但它们要么不清楚,要么提供无效的解决方案,可能是因为它们已经过时了:
R Markdown/Notebook很不错,但就其呈现方式而言,通常只有一个文件包含所有文本和所有代码块.我经常有一些项目,这样的单一文件结构不是一个好的设置.相反,我使用单个.R主.R文件按顺序加载其他文件.我想使用R Notebook复制这个结构,即我有一个.Rmd文件,我从多个.R文件中调用代码.
以这种方式使用项目的好处是,它允许使用.R文件的RStudio进行良好的正常工作流程,但也可以使用R Notebook/Markdown的简洁输出而无需复制代码.
这被简化以使示例尽可能小.两个.R文件和一个主.Rmd文件.
start.R
# libs --------------------------------------------------------------------
library(pacman)
p_load(dplyr, ggplot2)
#normally load a lot of packages here
# data --------------------------------------------------------------------
d = iris
#use iris for example, but normally would load data from file
# data manipulation tasks -------------------------------------------------
#some code here to extract useful info from the data
setosa = dplyr::filter(d, Species == "setosa")
Run Code Online (Sandbox Code Playgroud)
plot.R …
在 R Notebook 中,有一个函数可以在控制台中绘制许多图并打印摘要统计数据。我想在 HTML 输出上并排获得绘图和控制台输出(即摘要统计数据)。
这是一个非常简单的例子:
---
title: "Example"
output: html_notebook
---
```{r}
mapply(FUN = function(.x) {
plot(.x)
summary(.x)
}, split(iris, iris$Species), SIMPLIFY = FALSE)
```
Run Code Online (Sandbox Code Playgroud)
上述代码的输出如下所示:
正如您所看到的,绘图是一个接一个的,控制台输出位于中间的某个位置。
预期输出如下:
我浏览了这些SO主题但没有成功:
请注意,我真的想获取控制台输出,如果可能的话,我想避免使用许多转换来获取 grob 或图片,因为有时,我的实际输出的相关方法不存在。不使用 R Notebook 而是使用 RMarkdown 也可以。
我正在制作我的第一台R笔记本,除了一个问题外,它的效果非常好.我想成为我内联输出的数字
`r realbignumber`
Run Code Online (Sandbox Code Playgroud)
将逗号分隔为最多2位小数:123,456,789.12
为了实现这一点,我在文档的开头添加了一个块,其中包含...
```{r setup}
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, cache = TRUE, message = FALSE)
knitr::opts_chunk$set(inline = function(x){if(!is.numeric(x)){x}else{prettyNum(round(x,1), big.mark = ",")}})
options(scipen=999)
```
Run Code Online (Sandbox Code Playgroud)
科学数字的压制就像一个魅力,所以大块肯定是执行.但是,数字的内联输出格式不起作用.
任何想法为什么会这样?这些设置通常不适用于R笔记本电脑吗?
编辑:
这里建议的解决方案也对数字的输出格式没有影响.
我正在尝试 Rmd 笔记本,我被困在一些看起来应该可行的事情上,但我根本找不到解决方案。
基本上,我想要一种功能性的方法来运行选定的 Rmd 块,而无需使用 knit 进行编译。所以我认为使用依赖块、缓存等在这里不起作用。
这是一个示例笔记本:
示例_笔记本.Rmd
---
title: "Example_Notebook"
output: html_notebook
---
```{r Chunk_1 , include=T}
print(1+2)
Var1 <- 'Variable From Chunk 1'
```
```{r Chunk_2 , include=T}
Var2 <- 'Variable From Chunk 2'
```
```{r Chunk_3 , include=T}
print(Var1)
Var3 <- 'Variable From Chunk 3'
print(Var3)
```
Run Code Online (Sandbox Code Playgroud)
假设我想运行 Chunk 1 和 Chunk 3。要手动执行此操作,我可以在光标位于 Chunk_1 时使用 Ctrl+Shift+Enter,然后在光标位于 Chunk_3 时再次使用 Ctrl+Shift+Enter。这将跳过 Chunk_2,同时仍然获得 1 和 3 的输出。
我正在寻找一种方法来在单个命令/函数中执行此操作。这与 RStudio 中的“运行上面的所有块”按钮类似,但显然我想跳过 Chunk_2。
我尝试了很多方法将其写在函数中。我得到的最接近的是使用 rstudioapi 包。这是我的函数的样子:
MyNewFunction <- function(){
rstudioapi::navigateToFile( …Run Code Online (Sandbox Code Playgroud)