以下直接说遇到的问题:
在做数据帧的列添加直接用的cbind():
之后再继续进行回归分析,结果出现一下问题:
之后经过检查是因为数据类型不对:
应该和原来数据保持数据类型相同才可以,我的解决方法是,先添加的列进行创建一个单独的数据帧data.frame(),将数据类型转换成和原来数据帧相同的数据类型numeric
>add<-data.frame(addc=c('1','5','6','8','7','9','6','8','0','2','5','1','8','9','10','5','6','10','15','4','0','5','8','3','5','7','9','12','3','8','5','0'))
>add<-as.numeric(add$addc)
>str(add)
>input<-mtcars[]
>print(input)
>str(input)
>>add_new<-cbind(input,add)
>str(add_new)
再进行回归分析就不会出现以上问题了
问题解决!
另外补充将file中的数据转换成numeric:
你的文件是file.csv>data<-read.csv("file.csv",header=T)
比如说第2列是性别 1是男 0是女
那么你可以强制转换,也可以用函数
>sex<-factor(data[,2]) 或者 >sex<-as.factor(data[,2])
如此sex就变成了因子型的
你可以把0,1改成female ,male
>levels(sex)<-c("female","male")
最后带回去
>data[,2]<-sex