R markdown为在R脚本和其他代码块中运行良好的代码块返回错误

R markdown为在R脚本和其他代码块中运行良好的代码块返回错误,r,r-markdown,knitr,R,R Markdown,Knitr,上下文:使用ISLR库中的carseats数据集生成树模型 代码块(c)在尝试运行predict()函数时返回错误: 没有适用于类的对象的“predict”方法 “单节点” predict()函数在其他块中未返回错误。我在树模型、随机森林模型和袋装分类模型上使用了predict()函数,没有错误。另外,当我将此代码作为r脚本文件运行时,没有出现任何错误 不确定这是r标记错误还是我的代码有问题 编辑:编辑问题以包含完整的自包含代码 --- title: "temp" author: xx2" da

上下文:使用ISLR库中的carseats数据集生成树模型

代码块(c)在尝试运行predict()函数时返回错误:

没有适用于类的对象的“predict”方法 “单节点”

predict()函数在其他块中未返回错误。我在树模型、随机森林模型和袋装分类模型上使用了predict()函数,没有错误。另外,当我将此代码作为r脚本文件运行时,没有出现任何错误

不确定这是r标记错误还是我的代码有问题

编辑:编辑问题以包含完整的自包含代码

---
title: "temp"
author: xx2"
date: "12/5/2019"
output: html_document
---


```{r,include=FALSE}
library(ISLR)
library(tree)
library(randomForest)
```

### (a)
```{r}
set.seed(1)
train=sample(nrow(Carseats),nrow(Carseats)/2,replace=F)
Carseats.train=Carseats[train,]
Carseats.test=Carseats[-train,]
```

### (b)

```{r}
model_tree=tree(Sales~.,data=Carseats.train)
plot(model_tree)
text(model_tree)
prediction_tree=(predict(model_tree,Carseats.test))
mean((Carseats.test$Sales-prediction_tree)^2)
```



### (c)

```{r}
cv.carseats = cv.tree(model_tree, FUN = prune.tree)
par(mfrow = c(1, 2))
plot(cv.carseats$size, cv.carseats$dev,type="l")
plot(cv.carseats$k, cv.carseats$dev,type="l")
model_tree_pruned = prune.tree(model_tree, best = which.min(cv.carseats$dev))
#prediction_tree_pruned=predict(model_tree_pruned, Carseats.test)
#mean((Carseats.test$Sales-prediction_tree_pruned)^2)
```

您确定在rmarkdown文档开始时加载了所有必要的包吗?我不想因为包含包语句而使问题变得混乱,但是,我加载了包“ISLR”、“tree”和“randomForest”。rmd代码与rscript代码相同。您是否可以确定这是导致您描述的问题的原因?这是工作,但很重要,完成了。我注释掉了(c)中可能导致错误的两行代码。如果我使用R代码并在脚本中运行它,我会得到与“prediction_tree_pruned”行相同的错误消息(这在R标记之外)。