我无法在 Rstudio 中编织/编译 .R 文件

Posted

技术标签:

【中文标题】我无法在 Rstudio 中编织/编译 .R 文件【英文标题】:I am unable to knit/compile .R files in Rstudio 【发布时间】:2020-09-07 06:44:04 【问题描述】:

这是我在源代码窗格中输入的内容

x <- c(1,3,2,5)
x
x = c(1,6,2)
x
y = c(1,4,3)
length(x)
length(y)
x+y
ls()
rm(x,y)
ls()
rm(list=ls())
?matrix
x=matrix(data=c(1,2,3,4), nrow=2, ncol=2)
x
x=matrix(c(1,2,3,4),2,2)
matrix(c(1,2,3,4),2,2,byrow=TRUE)
sqrt(x)
x^2
x=rnorm(50)
y=x+rnorm(50,mean=50,sd=.1)
cor(x,y)
set.seed(1303)
rnorm(50)
set.seed(3)
y=rnorm(100)
mean(y)
var(y)
sqrt(var(y))
sd(y)

但是当我执行下面提到的三个操作中的任何一个时,.R 文件会发生变化

    正在尝试保存 .R 文件 尝试使用文件菜单> 编织文档来编织文件 尝试使用文件菜单编译文档>编译报告

在任何这些操作中,.R 文件更改为

x <- c(1,3,2,5) x x = c(1,6,2) x y = c(1,4,3) length(x) length(y) x+y ls() rm(x,y) ls() rm(list=ls()) ?matrix x=matrix(data=c(1,2,3,4), nrow=2, ncol=2) x x=matrix(c(1,2,3,4),2,2) matrix(c(1,2,3,4),2,2,byrow=TRUE) sqrt(x) x^2 x=rnorm(50) y=x+rnorm(50,mean=50,sd=.1) cor(x,y) set.seed(1303) rnorm(50) set.seed(3) y=rnorm(100) mean(y) var(y) sqrt(var(y)) sd(y)

如您所见,代码丢失了所有格式。除此之外,它还会得到不相关的字符,如 \。

我的系统详情如下: RStudio 版: RStudio 版本:1.4.779 操作系统版本:Windows 10 x64(内部版本 19042) R 版本:4.0.2 (2020-06-22)

由于这个问题,我必须将所有代码保存为记事本或任何其他文本编辑器中的文本文件,以便我可以在下一个会话中使用相同的代码。如何在 RStudio 中更正此问题?

【问题讨论】:

“在控制台中”是指尝试将控制台中写入的内容保存为 R 脚本吗?如果要保存代码,可以使用 RStudio,File -&gt; New File -&gt; R script 我也无法重现您的错误,将您的代码复制/粘贴到 R 脚本中,保存并重新打开不要更改结构 我对你想要做什么感到困惑。 “编织文档”的概念仅适用于 r-markdown 文件 (.Rmd)。 .R 文件只是脚本,因此无法编织。 @Paul 非常感谢。我还更改了 Rstudio 的版本。首先在 1.4.787 上尝试,这也是每日构建。然后在稳定版本 1.3.1073 中重新创建了相同的示例。但是没有遇到这个问题。所以,我猜它只针对 Rstudio 1.4.779。 我发现有人在 Rstudio 社区论坛和 github 上提出了类似的问题,代码取自同一本 ISLR 书籍。所以,我猜 Rstudio 团队已经解决了这个问题。 【参考方案1】:

正如@Paul 和@Phil 评论的那样,RStudio 1.2.xxxx 或 1.3.xxxx 版本中不存在该问题。此问题特定于 RStudio 每日构建版本 1.4.779。在 github 和 RStudio 社区论坛中提出该问题后,该问题似乎已在 RStudio 每日构建的较新版本中得到修复。

【讨论】:

以上是关于我无法在 Rstudio 中编织/编译 .R 文件的主要内容,如果未能解决你的问题,请参考以下文章

Rstudio 不会编织

Rstudio Rmarkdown编织到多个pdf?

将一个markdown文件编织成两个输出文件

R:保存绘图 - 仍在 RStudio 中时无法打开图像

无法在 RStudio 中处理大文件 [关闭]

xaringan::summon_remark() 没有来自 R 的互联网连接