R语言基本对象类型知识点详解
作者:R语言学习笔记
在本篇文章里小编给大家整理了一篇关于R语言基本对象类型知识点详解内容,有兴趣的朋友们学习下。
基本向量
包含单类型对象(例如整数,浮点数,复数,文本,逻辑值或者原始型数据)的向量
复合对象
包含一些列基本向量的数据结构,例如列表,配对列表,``S4对象或者环境.
这些对象的特性各不相同,但它们都包含一系列命名的对象
特殊对象
在R编程中服务于特定目的的对象,例如any,NULL和...等.
这类对象在特定的环境中具有十分重要的意义,但是无法创建一个属于该类型的对象
R语言
R代码,其被执行后可以返回其他对象
函数
R的引擎;
其以参数作为输入,同时返回一些对象作为输出
有时候,函数会修改环境中的对象或者执行R环境之外的任务,例如绘制图形,保存文件或者将数据传输至网络等
内置对象
被R正式定义的对象
在常见的R编程中,几乎不会遇到内置对象
字节码对象
如果使用字节码编译器,R会生成一个运行在R虚拟机上的字节码对象
R中的基本对象类型
分类 | 对象类型 | 描述 | 栗子 |
---|---|---|---|
向量 | 整型 | 序列元素的默认类型,用integer() 函数可将其他对象强制转化为整型 |
5:5 ,integer() |
双精度型 | 用来表示浮点数(有小数点的数字或者较大的数字).现在的大多数平台上,双精度数值都是8字节,即64位.默认情况下,大多数数值都会用双精度来表示.可用double()函数将其他对象强制转换为双精度对象 | ||
复数型 | 复数,使用时必须包含实部和虚部(即使实部为零) | 0 + 1i |
|
字符串 | |||
逻辑值 | T ,F |
||
原始型 | 包含原始型字节的向量,当需要对来自R环境之外的对象进行编码时用到 | raw(9) ,charToRaw("Hello") |
|
复合对象 | 列表 | 多种类型对象的合集.列表的元素可以被命名.R中很多其他类型的对象(例如数据框)是通过列表实现的 | |
配对列表 | 用来表示一系列成对命名对象的数据结构.配对列表是一个可以内嵌使用但又可以在用户层面应用配对列表,因此与之相对比标准列表对象更为灵活有效 | .Options pairlist(apple = 1, pear = 2, banana = 3) |
|
S4对象 | 支持现代面向对象编程模式的R对象(继承,方法等) | ||
环境 | R中的环境对象是在特定环境中的一组符号.环境包含一个符号-值 对的集合和一个指向封闭环境的指针.例如,可以使用一个默认泛型函数的所有签名 |
.GlobalEnvnew.env(parent = baseenv()) |
|
特殊对象 | 任意类型 | 可以属于任意类型的对象.避免对象被强制转化为别的对象类型.再定义S4对象的序列或者泛型函数的签名时非常有用 | seClass("Something", representation(data = "ANY")) |
NULL | 表示空值的对象.函数或者表达式返回的没有值的对象通常属于本类型.NULL对象可以没有属性 | ||
... |
在函数中用来实现不定长的参数列表设置,尤其是传给其他函数的参数 | ||
R语言 | 符号 | 符号是指向其他对象的R语言对象.从语法上分析R语句时经常遇到 | |
允诺对象 | 允诺对象是创建时不执行,在第一次调用时才执行的R对象.常用来实现延迟加载包中的对象 | x <- 1;y <- 2;z <- 3; delayedAssign("v", c(x, y, z)) v就是允诺对象 |
|
语言 | 在编写R语言本身时用到R语言对象 | ||
表达式 | 未被执行的R表达式.可以用expression函数来创建表达式对象,之后可以用eval函数来执行表达式 | ||
函数 | 闭路对象 | R系统内部没有应用的R函数.大部分函数对象都属于闭路对象.包括用户自定义的函数,R中的大部分自带函数,以及R包中的大部分函数 | |
特殊对象 | 内置函数,其参数不是必须调用执行的 | if[ |
|
内嵌对象 | 执行自身参数的内置函数 | +, ^ |
|
字节码对象 | compiler包生成的R编译函数 | cmpfun(function(x) x^2) |
|
内置对象 | char | 标量串对象.字符向量可以分解为char 对象(用户不能轻易创建该对象,一般也用不到) |
|
字节代码对象 | 为未来的字节码编译器保留的一个数据类型 | ||
外部指针 | 外部指针,C代码中用到 | ||
弱引用 | 弱引用对象(仅限内部使用) |
到此这篇关于R语言基本对象类型知识点详解的文章就介绍到这了,更多相关R语言基本对象类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!