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的主要内容,如果未能解决你的问题,请参考以下文章

R语言factor类型转numeric

R语言笔记 数据的类型转换

R语言基础数据类型/数据结构/常用函数

R语言数据处理

R语言--变量与数据类型

R语言-数据类型及查看方式