首页 > 解决方案 > 打印回归树时出现问题,“cat(x, ..., sep = sep) 中的错误:参数 1(类型 'list')不能由 'cat' 处理”

问题描述

我正在尝试在一些前列腺癌数据上构建一棵树。

> head(prostate)
# A tibble: 6 x 6
  lcavol   age  lbph   lcp gleason   lpsa
   <dbl> <dbl> <dbl> <dbl>   <dbl>  <dbl>
1 -0.580    50 -1.39 -1.39       6 -0.431
2 -0.994    58 -1.39 -1.39       6 -0.163
3 -0.511    74 -1.39 -1.39       7 -0.163
4 -1.20     58 -1.39 -1.39       6 -0.163
5  0.751    62 -1.39 -1.39       6  0.372
6 -1.05     50 -1.39 -1.39       6  0.765

我声明了所有必要的包并开始构建我的树。

> library(tree)
> pstree <- tree(lcavol ~., data=prostate, mindev=0.1, mincut=1)
> pstree <- tree(lcavol ~., data=prostate, mincut=1)

命令运行没有问题。但是,当我尝试打印我的树时,我遇到了一个错误。

> pstree
Error in cat(x, ..., sep = sep) : 
  argument 1 (type 'list') cannot be handled by 'cat'

当我检查“前列腺”的结构时,它显示它是一个数据框。

> str(prostate)
tibble [97 x 6] (S3: spec_tbl_df/tbl_df/tbl/data.frame)

更奇怪的部分可能是当我绘制树时,我收到了我的图,就好像前面的命令有效一样

plot(pstree, col=8)
text(pstree, digits=2)

在此处输入图像描述

当我加载“树”包时,我必须更新我的 R,因为我运行的是旧版本。这可能是我遇到错误的原因吗?这是正在运行的 RI 版本

> version
               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          4                           
minor          0.3                         
year           2020                        
month          10                          
day            10                          
svn rev        79318                       
language       R                           
version.string R version 4.0.3 (2020-10-10)
nickname       Bunny-Wunnies Freak Out 

我的理解是 cat 是基础包的一部分,所以我不确定为什么这会导致问题。是否有一些其他软件包在导致此问题的更新中被删除?我安装并加载了包'Cat'以防万一,但这并没有解决它。

另外,请注意,此代码适用于我目前正在学习的数据挖掘课程。代码和随附的文本来自 Johannes Ledolter 的书 Data Mining and Business Analytics with R。您可以在此处查看第 13 章的完整代码和此处的数据。非常感谢您的时间、想法和帮助!

干杯,克里斯

标签: rdecision-tree

解决方案


我遇到了同样的问题,并没有在网上找到任何其他支持。tidyverse我意识到当和tree包同时加载时我收到了这个错误。卸载tidyverse解决了我的问题。

注意:这是我正在运行的版本。我确保我运行的是最新版本。

  • R工作室:1.3.1093
  • R: 4.0.3 (2020-10-10)
  • tree包:1.0.40
  • tidyverse包:1.0.40

推荐阅读