R语言数据类型numeric
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言数据类型numeric相关的知识,希望对你有一定的参考价值。
参考技术A 尽管有很多类型的R对象,经常使用的就只有:矢量、列表、矩阵、数组、因子、数据帧,这些对象中最简单的是向量对象,并且这些原子向量有六种数据类型,也称为六类向量。 其他R对象建立在原子向量之上。以下直接说遇到的问题:
在做数据帧的列添加直接用的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语言factor类型转numeric
R 语言中为了进行数据分析,比如回归分析,这时候对于数据表格中的factor类型的数据会带来弊端,比如对因子的每一个数据都进行一次回归,这样就显得很复杂,且违背了我们的初衷,需要把factor转换为numeric格式。
factor不能直接转换为numeric格式,它会按照因子的大小顺序依次取值1,2,3......
想要正确转换为对应的数值,可以先把factor转换为character格式,然后再转换为numeric,就可以正确显示数值
> data<- read.csv(‘breast_cancer.csv‘); > class(data$x6); # 这时候为factor [1] "factor" > # 然后转换factor为numeric > data$x6<-as.numeric(as.character(data$x6)); > class(data$x6); # 这时候为numeric [1] "numeric"
另外需要注意的是,如果你的数据中包含NA值或者其他错误类型的值,那么转换为character类型会产生报错,需要先删去所有错误类型的值,方法详见另一篇博客 https://www.cnblogs.com/zhaoke271828/p/12892718.html
------------------------------
ZKe
以上是关于R语言数据类型numeric的主要内容,如果未能解决你的问题,请参考以下文章