R语言C5.0决策树为新观测生成预测并追加到数据集的方法
问题解决方法
你遇到的报错核心原因是测试数据集的命名和R内置函数重名:R基础环境中存在名为new的内置函数,你将测试数据集命名为new后,执行new[,1:8]索引操作时,R会优先将new识别为函数对象,无法对函数做下标索引,因此抛出invalid subscript type 'closure'错误。
修复步骤
- 修改测试数据集的命名,避免和内置函数冲突
- 重新执行预测操作
- 将预测结果追加到目标数据集
完整可运行代码
# 1. 模拟新数据,重命名为test_sample避免重名 test_sample = new_data[1:10,] # 2. 生成预测结果 pred = predict(tree_mod, newdata = test_sample[, 1:8]) # 3. 追加预测列到数据集 test_sample$prediction_made_by_model = pred
如果需要给全量清洗后的new_data数据集添加预测列,可以直接运行以下代码:
new_data$prediction_made_by_model = predict(tree_mod, newdata = new_data[, 1:8])
内容的提问来源于stack exchange,提问作者stats_noob
相关产品推荐
相关产品推荐

