编织错误。找不到对象

时间:2017-02-20 09:35:20

标签: r

我有一个未清洁的dataset。所以,我已将它导入我的R工作室。然后当我在rmarkdown文件中运行nrow(adult)并按ctrl+Enter时,它可以工作,但是当我按下knit时,会出现以下错误:'

enter image description here

6 个答案:

答案 0 :(得分:3)

当你android:scaleType="matrix"在新环境中执行某事时 对象knit目前在您的环境中,但不是在新的knit创建的对象中。

您可能没有在编织中包含要读取或加载adult的代码。

如果按照@ sebastian-c评论清除工作区,您会看到即使adult也无效。

您必须在ctrl+enter内创建adult对象。例如,如果您的数据来自csv add

knit

在第一个块中。

希望这很清楚。

答案 1 :(得分:1)

因为通常我有很多代码准备在knitr文档中有效使用的数据变量,所以我的解决方法使用两个步骤:

  1. 在全局环境中,我使用以下命令将所有对象保存到文件中 save()
  2. 在编织代码中,我使用load()从文件中加载对象

不是那么优雅,但是我发现的唯一。

我也尝试使用语句get()访问全局环境变量,但没有成功

答案 2 :(得分:1)

另一种方法,与前一种方法相同,但是在您有大量不同数据的情况下确实有用

一旦您从R脚本生成了所有数据,请写上“普通代码”(任何R脚本):

save.image (file = "my_work_space.RData")

然后,在您的R-Markdown脚本中,加载先前保存的数据和所需库的图像。

```{r , include=FALSE}
load("my_work_space.RData")
library (tidyverse)
library (skimr)
library(incidence)
```

注意:确保在进行任何修改之后和运行knitr之前保存数据。

答案 3 :(得分:0)

编织为PDF时

```{r setup}
knitr::opts_chunk$set(cache =TRUE)
```

工作正常。

但编织到Word时不是。

答案 4 :(得分:0)

如果您添加了eval = FALSE,则在您创建对象的早期R代码将不会执行。

因此,当您在不同的块中再次使用该对象时,它将失败,并显示“找不到对象”消息。

答案 5 :(得分:0)

我正在用文字渲染。这是最终从默认文档目录加载我的数据的内容。我把它放在第一块的第一行。

RandomizedSearchCV