以下直接说遇到的问题:
在做数据帧的列添加直接用的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:
R语言支持的数据类型 数值型(numeric)复数型(complex)逻辑型(logical)字符型(character) R语言的数据对象类型包括:标量(Scalar)向量(Vector) :一个向量只能有一种数据类型因子(Factor):一个因子只能有一种数据类型矩阵(Matrix) :一个矩阵只能有一种数据类型数组(Array) :一个数组里面的每个元素只能有一种数据类型,不同元素的类型可以不同列表(List) :允许不同的数据类型数据框(Data frame):不同的列的数据类型允许不同查看数据特征:R语言中的几种数据结构一 R中对象的5种基本类型
字符(character)
整数 (integer)
复数(complex)
逻辑(logical:True/False)
数值(numeric:real numbers)
查看对象类型的命令:class(x)
二 R语言中有如下几种数据结构:
向量 vector() 组内元素必须类型一致,否则将会被强制转换。
(1) 创建向量的三种方式:
<span style="font-size:18px">x <- vector("numeric", length = 10)
x <- 1:4
x <- c("a",12,TRUE)</span>
(2) 强制转换的几个函数:
as.numeric(x) / as.character(x) / as.logical(x)
矩阵 matrix()一列一列的填充元素
按行合并:rbind()按列合并:cbind()
数组 array() 可以有多个维度
列表 list() 可以包含不同类型的元素
因子 factor()
(1) 分类数据/有序 vs. 无序
(2) 整数向量+标签(label)(优于整数向量)
Male/Female vs. 1/2
常用于lm(),glm()
(3) levels设置基线水平
table() 查看因子信息unclass() 去除因子属性日期
x <- Sys.Date() 得到系统当前日期
julian(x) x距离1970-01-01的天数
时间 POSIXct / POSIXlt
POSIXct:整数,常用于存入数据框 as.POSIXct()
POSIXlt:列表,还包含星期、年月日等信息。as.POSIXlt()
strptime(x, format = "...") 将一般格式转化为时间格式