首页 > 解决方案 > 因子水平 [2] 在 R 中重复

问题描述

我已经编写了这个函数来重新采样我的数据以进行类不平衡学习,但是当我运行它时,它给了我因子级别 [2] 重复,或者 adj.formula(formula, data) 中的错误:找不到对象'originalData'。

SampleData<-function(originalData, ch)
{
  if(ch==1)
  {
    training<-ovun.sample(defects~.,data=originalData, method = "over", N=nrow(originalData[originalData$defects=="FALSE",])*2)$data
  }

  else if(ch == 2)
  {
    data <- ovun.sample(defects~.,seed = 54321,data=originalData, method = "under", N=nrow(originalData[originalData$defects=="TRUE",])*2)$data
  }

  else if(ch == 3)
  {
    data <- ovun.sample(defects~.,seed = 54321,data=originalData, method = "both", p = 0.5, N=nrow(originalData))$data
  }

  else if(ch == 4)
  {

    data<-SMOTE(defects~.,data=originalData,seed = 54321, perc.over = 200, perc.under = 100, k = 5)
  }
  else if(ch == 5)
  {

    data<- ROSE(defects ~ ., data  = originalData,seed = 54321,N=nrow(originalData))$data
  }

  else
  {
    data <- originalData
  }
  return(data)
}

标签: r

解决方案


推荐阅读