R语言-数据类型
来源:互联网 发布:死飞自行车多少钱淘宝 编辑:程序博客网 时间:2024/06/05 14:11
一、数据类型
概括来说,R可以识别六种基本的数据类型,分别是,双整型(double)、整型(integer)、字符型(character)、逻辑型(logical)、复数类型(complex)以及原始类型(raw).
1.双整型(double)
储存普通数值型数据,可正可负,可大可小,可含小数可不含
R中键入的任何一个数值都默认以double型存储
想知道某个对象是什么类型,可以使用typeof()
函数进行查看
在数据科学里,它更常被称为数值型(numeric)
2.整型(integer)
顾名思义,只能用来储存正数。
在R中通过在数字后面加大写字母L的方式,申明该数字以整型方式储存。
在计算机内存中,整型的定义方式要比双整型更加准确(除非该整数非常大或非常小)
3.字符型(character)
字符型向量用以储存一小段文本,在R中字符要加双引号表示
字符型向量中的单个元素被称为“字符串(string)”,注意:字符串不仅可以包含英文字母,也可以由数字或符号组成
4.逻辑型(logical)
用以储存TRUE(真)和FALSE(假),在R中大写的TRUE和FALSE或者大写的T和F都被理解为逻辑型数据。
5.复数类型(complex)和原始类型(raw)
复数类型,即形如:1+i
类的数据
原始类型,用来存储数据的原始字节
二、属性
属性是附加给向量的额外信息,可以将这些数据理解为“元数据(metadata)”
可硬通过attributes()函数来获取对象的属性信息,如果对象无属性信息,则返回NULL,即空值。
1.名称属性
通过names()函数可以查看对象的名称属性,也可以通过形如:names(对象)<-……
的方式进行赋值,具体如下:
> names(test)NULL> names(test)<-c("one","two","three")> names(test)[1] "one" "two" "three"> test one two three 1 2 3 >
2.维度属性
通过dim()函数赋值或获得属性,若为向量则返回NULL(空值),具体如下:
matrix1<-matrix1(1:20,4,5)> dim(matrix1)[1] 4 5> matrix2<-c(1:20)> dim(matrix2)NULL> dim(matrix2)<-c(4,5)> matrix2 [,1] [,2] [,3] [,4] [,5][1,] 1 5 9 13 17[2,] 2 6 10 14 18[3,] 3 7 11 15 19[4,] 4 8 12 16 20> dim(matrix2)[1] 4 5
3.类
在R中类(class)是对象的属性,可用class()函数获取。对于一个标量或向量,返回的就是数据类型,对于一个数据结构,返回的就是他的数据结构。如:> test<-c(1,2,3),之后将讲解如何构造并使用自己的类。如果你想移除一个对象的类,可通过unclass()函数或者直接将NULL赋给class属性即可。
> class(test)[1] "numeric"> matrix<-matrix(1:20,4,5)> matrix> class(matrix)[1] "matrix"
日期与实间
在R中可以通过Sys.time()函数获取系统时间,而结果看似字符串,实则却是双整数型,并且类有“POSIXct” 和”POSIXt”两种。
POSIXct是一个被广泛使用的用于表示日期与时间的框架。在POSIXct框架下,时间被表示为自1970年1月1日零点(UTC时间)开始所逝去的秒数,并以数值型储存下来。通过将“POSIXct” 和”POSIXt”两个类的属性会提示R将该时间以人类友好的字符串形式展示出来。具体如下:
“> now<-Sys.time()> now[1] "2017-07-24 15:42:41 CST"> typeof(now)[1] "double"> class(now)[1] "POSIXct" "POSIXt" ”> class(now)<-NULL> now[1] 1500882162> class(now)<-"POSIXct"> now[1] "2017-07-24 15:42:41 CST"> unclass(now)[1] 1500882162
在R的数据结构中介绍了一个因子的概念,当使用factor()函数对向量进行改造时,会赋予向量一个levels和class属性, 其中levels属性包含显示因子值得一组标签,而class属性包含factor.
三、强制转化
强制转化一般并不推荐,但有的时候这样做能够起到特殊的效果。具体来说,强制转化规则如下:
1.如果向量中含字符串,强制转化会把所有元素转化为字符型
2.如果向量中只含数值型或逻辑型,强行转化会将逻辑型都转化为数值型(TRUE–>1,FALSE–>0)
> sum(c(T,T,F,F))[1] 2
上例可以计算出一组向量中为真的个数,就是一种强制转化的妙用
R中还可以选择一种更为明确的类型转化方式,as.+数据类型,如
> as.numeric(T)[1] 1
- R语言 常用数据类型
- R语言:数据类型
- R语言数据类型转化
- R语言---数据类型
- R语言-数据类型
- R语言数据类型
- R语言基础教程1:数据类型
- R语言基础教程1:数据类型
- 1 R语言的数据类型
- R语言学习笔记<数据类型>
- R语言学习二 数据类型
- R语言:特殊数据类型S4
- R语言之基本数据类型
- (二)R语言的数据类型
- R语言入门学习--数据类型
- R语言基础之数据类型
- 【R语言读书学习笔记3】R语言数据类型
- R语言基础入门2--基本数据类型
- C语言-可变参数列表
- Qt :图片与QByteArray互转
- java类型转换小工具
- 动态规划——Bubble Sort Graph
- 解题报告:SPOJ
- R语言-数据类型
- POJ 2115 C Looooops extend gcd +找点
- 查找:静态查找表
- Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)
- 消息驱动与事件驱动比较
- 讲一讲楼主从工程监理到软件测试又走出软件测试的这一年
- JavaScript 常用正则大集合!
- 《从程序员到项目经理》内容记录
- Vue.js介绍以及优缺点