FranzMarc 2021-10-27 16:26 采纳率: 0%
浏览 75
已结题

R语言报错:至少其中一个level的种类不是R语言的有效变量名

我的数据整理如下:

img


其中multi_pre,multi_post,insitu,cN,ycN,ypT,ypN,grading,ER,PGR都是factor类型
想建立10折的交叉验证的逻辑回归模型,由其他变量来预测ypN,代码如下:

#recipe
recipe <- recipe (ypN ~ age + diameter_pre + diameter_post + multi_pre + multi_post + insitu
                   + cN + LN_pre + ycN + LN_post + grading + ER + PGR + HER2NEU + K67, data = dba)
recipe <- recipe %>%
  step_impute_knn(all_predictors(), neighbors = 5) %>%  
  step_BoxCox(all_numeric(),-all_outcomes()) %>%
  step_zv(all_predictors(),-all_outcomes()) %>%     
  step_nzv(all_predictors(),-all_outcomes())%>% 
  step_normalize(all_numeric(),-all_outcomes())%>%  
  step_dummy(all_nominal(),-all_outcomes()) %>%   
  step_corr(all_predictors(),-all_outcomes(), threshold = 0.9) 

prep <- prep (recipe, dba) 
tidy (prep) 

tidy (prep, number= 3)

prep[["template"]]

MySummary  <- function (data, lev = NULL, model = NULL){
  a1 <- defaultSummary(data, lev, model)
  b1 <- twoClassSummary(data, lev, model)
  c1 <- prSummary(data, lev, model)
  out <- c(a1, b1, c1)
  out }

cv <- trainControl (method = "repeatedcv",   
                    number = 10,   
                    repeats = 3,  
                    search = "grid",   
                    verboseIter= TRUE,  
                    classProbs = TRUE,  
                    returnResamp = "final",  
                    savePredictions = "final",  
                    summaryFunction = MySummary,  
                    selectionFunction = "tolerance",  
                    allowParallel=TRUE)

hyper_grid_glm <- expand.grid(
  alpha = seq(from=0.01, to= 1, by=0.01), 
  lambda = seq(from=0.01, to= 1, by=0.01) )

cv_glm <- caret::train(recipe,
                       data=dba,
                       method="glmnet",
                       metric="Kappa",
                       trControl=cv,
                       tuneGrid = hyper_grid_glm)

结果报错如下:

img


求解决,谢谢!

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-10-28 18:19
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

    评论

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料