You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R运行initial_split报错Can't select within an unnamed vector如何解决

问题解决方法

1 核心报错诱因

你调用initial_split()时传入了cog_gpa$GPA这个单个数值向量,但rsample包的initial_split()第一个参数要求传入完整的data.frame/tibble对象,传入无名向量会触发tidyselect的变量选择逻辑报错,这是最直接的错误来源。

2 带标签数值类型转换(可选但推荐)

你提到的预测变量为dbl+lbl类型是haven包读取带标签数据集的标准格式,为了避免后续建模出现兼容问题,建议先统一转为纯numeric类型,转换代码如下:

library(dplyr)
library(haven)

cog_gpa_clean <- cog_gpa %>%
  # 匹配所有带标签的列,转为纯数值
  mutate(across(where(is.labelled), as.numeric))

3 修正后的数据集拆分代码

library(rsample)

# 传入完整清理后的数据集进行拆分
cog_gpa_split <- initial_split(cog_gpa_clean, prop = 0.7)
# 提取训练集、测试集
train_data <- training(cog_gpa_split)
test_data <- testing(cog_gpa_split)

后续随机森林变量重要性计算示例(可选)

如果你使用tidymodels框架计算变量重要性,可以参考如下代码:

library(parsnip)
library(vip)

# 定义随机森林回归模型
rf_model <- rand_forest(mode = "regression") %>%
  set_engine("ranger", importance = "permutation")

# 拟合模型
rf_fit <- rf_model %>%
  fit(GPA ~ ., data = train_data)

# 输出变量重要性可视化结果
vip(rf_fit)

内容的提问来源于stack exchange,提问作者Tannya Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:57:01