rmarkdown错误“尝试使用零长度变量名称”

时间:2017-09-12 08:21:00

标签: r r-markdown

当我生成一个新的rmarkdown文件(或打开现有的rmarkdown文件)并尝试运行一个rmarkdown块时,我收到此错误:“错误:尝试使用零长度变量名称”。 我有Win10并且昨天重新安装了R和Rstudio。我错过了什么?这个错误来自哪里?

```{r cars}
summary(cars)
```
  

```{r cars}   错误:尝试使用零长度变量名称

enter image description here

5 个答案:

答案 0 :(得分:16)

将此作为可见性的答案:如果您尝试通过在Rmd中选择all并按下Enter来运行,就像使用普通R脚本一样。 RStudio尝试将此全部作为R代码运行,包括降价部分,从而导致您看到的错误。

您可以通过单击绿色播放按钮或在Rmd编辑器顶部的下拉列表中选择一个运行选项来运行单个块来避免这种情况。

答案 1 :(得分:2)

问题可能是由于在早期会话中在全局环境中更改了对象,并且该会话已保存在全局环境中。在结束Rstudio会话(或R控制台)时,最好不要在全局环境中保存任何内容。一种选择是再次调用data(cars),以便获取原始数据集

---
title: "Untitled"
output:
  html_document: default
  'html_document:': default
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r cars}
data(cars)
summary(cars)

-output enter image description here

避免这些意外情况的一个选择是在退出会话时使用“不保存”选项

enter image description here

答案 2 :(得分:0)

我在R Studio中有以下代码来禁止某些警告。我想做的是隐藏所有可能的输出,但仍然评估代码,例如,隐藏文本输出(结果=“隐藏”),隐藏警告,隐藏消息

```{r message=FALSE, warning=FALSE, results='hide'}

当我删除这些行时,我也停止获取错误。

希望有帮助。

答案 3 :(得分:0)

对我来说,问题在于结束代码块中缺少反引号。换句话说,它看起来像下面的样子(请注意,只有两个闭合的倒引号,而不应该是三个)。

```{r}
# do some stuff
``

因此,这两个反引号已作为代码块的一部分进行处理,这是用于提供变量名(例如,

)的合法代码。

`+`

但是由于反引号之间没有提供变量名,所以出现“尝试使用零长度变量名”错误。

答案 4 :(得分:-1)

此方法涉及仅选择(突出显示)R代码(摘要(压力)),而不选择代码块中的任何反引号/围栏。 (如果看到错误:尝试使用零长度变量名,那是因为您不小心突出了反引号和R代码……..source:https://rstudio-conf-2020.github.io/r-for-excel/rstudio.html