警告R中建立一个功能时

问题描述:

由于我使用的交叉验证与许多不同的算法,我决定给自己建了以下功能:警告R中建立一个功能时

crossFun <- function(myseed, vars, labels, par, tim, algo, len) { 
    set.seed(myseed) 
    multiFolds <- createMultiFolds(labels, k = par, times = tim) 
    cv_ctrl <- trainControl(method ='repeatedcv', number = par, repeats = tim, index = multiFolds) 

    cl <- makeCluster(3, type = 'SOCK') 
    registerDoSNOW(cl) 

    result <- train(x = vars, y = labels, method = algo, tuneLength = len, trControl = cv_ctrl) 

    stopCluster(cl) 

    return(result) 
} 

功能的工作,但其结果,得到以下警告:

警告消息:不建议在tibble上设置行名。

我找不到任何明确的解释。我试着用不同的方式编写函数,但似乎没有任何东西可以摆脱这个信息。

任何想法是什么意思?

+0

看来警告来自您要调用的某个函数。如果是这样,那么你可以做的事情就不多了,除非可能试着确定警报发生的位置。 'print(class(obj))',其中'obj'是一个对象,比如'multiFolds','cv_ctrl'等可能会有所帮助。 –

tidyverse方式鼓励不使用rownames。 您总是可以用as.data.frame()强制回到基础数据框。 鼓励的方式是使用tibble::rownames_to_column()使rownames成为一个新变量。

请参阅this issue

+0

我不确定我了解你。我之前读过这个问题,但没有看到它与我的功能有什么关系。 – Mark2Bra

+1

@ Mark2Bra您的警告与问题中相同。 “已弃用”意味着已将其从包中删除,并且您现在有警告,但未来版本中可能会出现错误(让您有时间更新代码)。 –