R boruta包-(列表)对象不能强制为类型';双倍';

R boruta包-(列表)对象不能强制为类型';双倍';,r,machine-learning,feature-selection,data-science,R,Machine Learning,Feature Selection,Data Science,我试图在我的数据集上运行boruta功能选择 代码如下: df<-read.csv('F:/DataAnalyticsClub/DACaseComp/DatasetDist/Datasets/BestFile.csv',stringsAsFactors=FALSE ) install.packages("Boruta") library(Boruta) df[is.na(df)] <- 0 df[df == ""] <- 0 X<-df[ , -which(names(d

我试图在我的数据集上运行boruta功能选择

代码如下:

df<-read.csv('F:/DataAnalyticsClub/DACaseComp/DatasetDist/Datasets/BestFile.csv',stringsAsFactors=FALSE )
install.packages("Boruta")
library(Boruta)
df[is.na(df)] <- 0
df[df == ""] <- 0
X<-df[ , -which(names(df) %in% c("PREVSALEDATE","PREVSALEDATE2","ClassLabel", "PARID", "PROPERTYUNIT", "PriceDiff1", "PriceDiff2", "DateDiff1", "DateDiff2", "SALEDATE"))]
Y<-df['ClassLabel']



factorCols <- c("SCHOOLDESC","MUNIDESC","SALEDESC","INSTRTYPDESC","NEIGHDESC","TAXDESC","TAXSUBCODE_DESC","OWNERDESC","USEDESC","LOTAREA","CLEANGREEN","FARMSTEADFLAG","ABATEMENTFLAG","COUNTYEXEMPTBLDG","STYLEDESC","EXTFINISH_DESC","ROOFDESC","BASEMENTDESC","GRADEDESC","CONDITIONDESC","CDUDESC","HEATINGCOOLINGDESC","BSMTGARAGE")
nonFactorCols<-c("PRICE","COUNTYTOTAL","LOCALTOTAL","FAIRMARKETTOTAL","STORIES","YEARBLT","TOTALROOMS","BEDROOMS","FULLBATHS","HALFBATHS","FIREPLACES","FINISHEDLIVINGAREA","PREVSALEPRICE","PREVSALEPRICE2")

X[factorCols] <- lapply(X[factorCols], factor)

set.seed(123)
boruta.train<-Boruta(X,Y)
我不知道为什么。我的所有列都是Factors或varoius数字类型。有什么不对劲

通过谷歌搜索,我发现有些人建议进行as.matrix()转换,但在这种情况下:

> boruta.train<-Boruta(as.matrix(X),as.matrix(Y))
Error: Variable none not found. Ranger will EXIT now.
Error in ranger::ranger(data = x, dependent.variable.name = "shadow.Boruta.decision",  : 
  User interrupt or internal error.

>boruta.train好的,在仔细研究之后,我设法找出了问题所在。Boruta要求Y(目标)是列表类型,而不是数据帧或任何其他类型

所以就这样创建Y:

Y<-df[,'ClassLabel']
Y
Y<-df[,'ClassLabel']