r - 打印回归树时出现问题,“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 章的完整代码和此处的数据。非常感谢您的时间、想法和帮助!
干杯,克里斯
解决方案
我遇到了同样的问题,并没有在网上找到任何其他支持。tidyverse
我意识到当和tree
包同时加载时我收到了这个错误。卸载tidyverse
解决了我的问题。
注意:这是我正在运行的版本。我确保我运行的是最新版本。
- R工作室:1.3.1093
- R: 4.0.3 (2020-10-10)
tree
包:1.0.40tidyverse
包:1.0.40
推荐阅读
- kubernetes - 容器的总和是否等于 Kubernetes 中的 pod 内存使用量?
- javascript - 在没有大括号的 vue 视图部分显示数组
- javascript - 更漂亮:仅针对文件的更改行运行
- google-cloud-platform - 如何以编程方式创建用于保护 google API 网关(Beta)的 api 密钥?
- android - 约束布局包装高度停止工作
- c# - 如何在整个 powerpoint 文件中获得相同的形状或图片并替换它们?
- tikz - 获取 TikZ 节点的线宽和内部间隔
- html - 表头和表格之间的宽度差异
- javascript - 长生不老药凤凰频道
- linux - 需要脚本来移动和重命名文件而不覆盖重复的文件名