为什么将我的数字矩阵转换为字符矩阵?

时间:2019-05-23 08:16:32

标签: r dataframe

我正在尝试使用Binary Logistic回归和罚分LASSO建立预测分类模型,最终我将比较这两个模型。事实是,在尝试应用诸如多重共线性测试之类的模型之前,我试图了解更多数据并运行一些测试,但是数据类型转换不正确。

数据集由数字和因子变量组成。我已经从csv文件中的r中导入了数据,并且在导入数据之前,我已经手动将所有从“ factors”更改为“ numeric”的变量。我已经从整个数据集中特别选择了我想要的列,但是这样做之后,矩阵应该使用as.matrix进行数值计算,但事实并非如此。

Data<- read.csv("Test.csv")
names(Data)
attach(Data)
dim(Data)
sapply(Data,class)
ChurnFlag <- ifelse(ChurnedFlag=="Y",1,0)

#combinding all the new created variables
DataMat <- as.matrix(cbind(Data,ChurnFlag))

#selecting specifically which variables I want to analyse which are all 
numeric/integer
DataMatRed <- as.matrix((DataMat[,c(4:8,10:73,92)]))

DataMatRedNum <- mapply(DataMatRed,FUN=as.numeric) 
#defining the matrix as numeric
is.numeric(DataMatRedNum) #checking that it is numeric

DataMatDF <- as.data.frame(DataMatRed)
DataMatDF2 <- data.frame(DataMatRed,row.names = NULL,check.rows = FALSE,check.names = TRUE) /*

我希望数字矩阵不是字符,因为尝试在R中运行colldiag函数时,该函数不起作用,并且错误如下:

  

svd(X)中的错误:'x'中的值无限或缺失

并且我检查了我是否有任何缺失值并且没有缺失值

0 个答案:

没有答案