【问题标题】:Subscript error when trying to save/preview notebook尝试保存/预览笔记本时出现下标错误
【发布时间】:2016-12-18 22:10:53
【问题描述】:

编辑:似乎 RStudio Preview 版本 0.99.1285 在笔记本和 rMarkdown 文档方面存在问题。标准 RStudio 的安装能够编写相同的代码。感谢大家的时间和精力。

我正在尝试创建一个简单的 R 笔记本以生成可读的分析报告。但是,每当我尝试运行我的笔记本时,我都会收到一个我无法诊断和解决的下标越界错误。

我已经更新了我所有的包并重新创建了类似的代码,但我得到了同样的错误。

R Markdown 代码(在全局环境中加载的库(dplyr)) 编辑:在第一个块中添加库(dplyr)

---
title: "R Notebook"
output: html_notebook
---

```{r}
library(dplyr)
```


```{r}
adataframe<-data_frame(a=rnorm(160),
                       b=rnorm(160,mean=5,sd=10),
                       c=sample(1:100,160,replace=TRUE),
                       z=sample(1:100,160,replace=TRUE),
                       letter=rep(c("w","x","y","z"),40))
```

test test min z is `r min(adataframe$z)` to max z at `r max(adataframe$z)`

```{r}
adataframe %>%
  select(letter,z,b,a) %>% 
  group_by(letter) %>%
  summarise_all(sum) %>% 
  mutate(division1=z/b,division2=b/a)
```

如果我在不运行块的情况下预览文档,文档会按预期显示。

但是,如果我运行所有代码块并尝试预览文档,则会收到以下错误:

Quitting from lines 7-8 (test.Rmd) 
Error in csvs[[i + 1]] : subscript out of bounds

对应第一个代码块。

这是一个新项目中的测试笔记本,因此在全局环境中除了“adataframe”之外没有其他对象。

感谢阅读。

【问题讨论】:

  • rmarkdown 文档是在单独的 R 会话中编译的,而不是在您当前的 R 会话中,因此在使用 dplyr 函数之前需要 library(dplyr)
  • 正如@eipi10 所说,您需要添加library(dplyr)。这样做后我无法重现您的错误。该脚本的处理没有错误,并且具有预期的输出。
  • 当我添加库(dplyr)时,我在那个新块中得到下标错误:
  • 运行您的代码时没有出错。
  • 更多细节 - 如果我在运行文档按预期显示的所有块之前预览文档。但是,如果我运行所有块,我会得到 csvs[[i+1]]:subscript out of bounds 错误。这是 rmarkdown 文档的正常行为吗?

标签: r rstudio subscript


【解决方案1】:

您运行的是哪个版本的 RStudio 预览版?我相信这是 RStudio 版本中的一个错误,现在应该解决(至少从 v0.99.1283 开始)。

【讨论】:

  • 似乎我的 RStudio 比那 (v0.99.1249) 稍旧。不幸的是,“检查更新”选项告诉我我有最新的包。我会尝试手动更新。
猜你喜欢
  • 2020-05-24
  • 2015-09-27
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多