我有一个数据库,有 5000 个观察值(行)和 40 个变量(列)。分类变量的数量为 25,连续变量的数量为 15。我想使用回归模型来预测使用分类和连续预测变量(变量)的连续变量。此外,我考虑使用套索算法(glmnet 包中的 glmnet())进行一种特征选择,以防止使用所有变量作为预测变量,并仅使用由套索确定的一些变量(重要变量)。
我的问题是套索如何处理分类变量?我应该将我的数据框转换为矩阵,因为 glmnet() 获取矩阵类型的数据。当我将它转换为矩阵时,所有列的类都变为字符。但如您所知,我需要一些列是分类的,而一些列是连续的。我应该如何解决这个问题?
换句话说,如何对具有一些分类变量和一些连续变量的数据进行回归模型和套索作为特征选择来预测连续变量?
我创建一个数据库作为玩具数据:
a <- sample(1000:1000000 , 60 , replace = T)
b <- sample(50000:100000000 , 60 , replace = T )
c <- sample(1:90 , 60 , replace = T)
d <- c("accident" , "injury" , "surgical" , "poison")
d <- rep(d , 15 )
e <- paste(letters[1:6] , "#" , sep="")
e <- rep(e, 10)
x <- cbind(a,b,c,d,e)
data.toy <- as.data.frame(x)
head(data.toy)
data.toy$a <- as.numeric(data.toy$a)
data.toy$b <- as.numeric(data.toy$b)
data.toy$c <- as.numeric(data.toy$c)
变量 a, b 是连续的,d, e 是分类的。这四个是预测变量,响应是连续的 b 列。使用这个玩具数据来帮助我解决问题。
任何一点帮助将不胜感激。