Tidymodels:执行PCR时出现问题错误:Can';t不使用';不存在

Tidymodels:执行PCR时出现问题错误:Can';t不使用';不存在,r,machine-learning,pca,tidymodels,R,Machine Learning,Pca,Tidymodels,我正在尝试用tidymodels进行PCR,但是我一直遇到这个问题。我知道有一个类似的帖子,但是那边的解决方案在我的案例中不起作用 我的数据 library(AppliedPredictiveModeling) data(solubility) train = solTrainY %>% bind_cols(solTrainXtrans) %>% rename(solubility = ...1) 我的PCR分析 train %<>% mutate_all(., as

我正在尝试用tidymodels进行PCR,但是我一直遇到这个问题。我知道有一个类似的帖子,但是那边的解决方案在我的案例中不起作用

我的数据

library(AppliedPredictiveModeling)
data(solubility)

train = solTrainY %>% bind_cols(solTrainXtrans) %>% rename(solubility = ...1)
我的PCR分析

train %<>% mutate_all(., as.numeric) %>% glimpse()
tidy_rec = recipe(solubility ~ ., data = train) %>%
  step_corr(all_predictors(), threshold = 0.9) %>%
  step_pca(all_predictors(), num_comp = ncol(train)-1) %>% 
  prep()

tidy_rec %>% tidy(2) %>% select(terms) %>% distinct()

tidy_predata = tidy_rec %>% juice()

# Re-sampling
tidy_folds = vfold_cv(train, v = 10)

# Set model
tidy_rlm = linear_reg() %>% 
  set_mode("regression") %>% 
  set_engine("lm")

# Set workflow
tidy_wf = workflow() %>% 
  add_recipe(tidy_rec) %>% 
  add_model(tidy_rlm) 

# Fit model
tidy_fit = tidy_wf %>% 
  fit_resamples(tidy_folds) 

tidy_fit %>% collect_metrics()

这是因为
工作流
需要未准备好的配方规范

因此,在代码中,从配方规范中删除
prep()
将消除错误

tidy_rec <- recipe(solubility ~ ., data = train) %>%
  step_corr(all_predictors(), threshold = 0.9) %>%
  step_pca(all_predictors(), num_comp = ncol(train)-1) 
  # remove the prep() method
tidy_rec%
阶跃校正(所有预测值(),阈值=0.9)%>%
步骤pca(所有预测值(),数值comp=ncol(序列)-1)
#删除prep()方法

这是否回答了您的问题?
tidy_rec <- recipe(solubility ~ ., data = train) %>%
  step_corr(all_predictors(), threshold = 0.9) %>%
  step_pca(all_predictors(), num_comp = ncol(train)-1) 
  # remove the prep() method