R中变量类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R中变量类型相关的知识,希望对你有一定的参考价值。
参考技术A R中变量类型:• int 表示整数型变量。
• dbl 表示双精度浮点数型变量,或称实数。
• chr 表示字符向量,或称字符串。
• dttm 表示日期时间(日期+ 时间)型变量。
还有另外3 种常用的变量类型,虽然没有在这个数据集中出现,但很快就会在本书后面遇
到。
• lgl 表示逻辑型变量,是一个仅包括TRUE 和FALSE 的向量。
• fctr 表示因子,R 用其来表示具有固定数目的值的分类变量。
• date 表示日期型变量。
变量的类型和类别
【中文标题】变量的类型和类别【英文标题】:Types and classes of variables 【发布时间】:2011-09-09 14:57:08 【问题描述】:两个 R 题:
-
变量的类型(
typeof
返回)和类(class
返回)有什么区别?区别是否类似于 C++ 语言中的区别?
可能的变量类型和类别有哪些?
【问题讨论】:
此相关帖子也可能提供有用的信息:***.com/questions/8855589/… 【参考方案1】:在 R 中,每个“对象”都有一个 mode
和一个 class
。前者表示对象在内存中的存储方式(数字、字符、列表和函数),而后者表示其抽象类型。例如:
d <- data.frame(V1=c(1,2))
class(d)
# [1] "data.frame"
mode(d)
# [1] "list"
typeof(d)
# list
如您所见,数据帧以list
的形式存储在内存中,但它们被包装到data.frame
对象中。后者允许使用成员函数以及具有自定义行为的重载函数,例如 print
。
typeof
(storage.mode
) 通常会提供与mode
相同的信息,但并非总是如此。举个例子:
typeof(c(1,2))
# [1] "double"
mode(c(1,2))
# [1] "numeric"
这背后的推理可以找到here:
R 特定函数 typeof 返回 R 对象的类型
函数 mode 提供有关 Becker, Chambers & Wilks (1988) 意义上的对象模式的信息,并且与 S 语言的其他实现更兼容
我在上面发布的链接还包含所有原生 R basic types
(向量、列表等)和所有 compound objects
(因子和 data.frames)的列表,以及 mode
的一些示例, typeof
和 class
与每种类型相关。
【讨论】:
“在 R 中,每个“对象”都有一个模式和一个类”,只要从 S4 OOP 类结构的角度来看。在 S3 中,对象可能没有分配类名:oldClass(matrix(1:10, 2,5)) # NULL
【参考方案2】:
type
确实指的是 R 中可用的不同数据结构。R Language Definition manual 中的讨论可能会让您开始了解对象和类型。
另一方面,class
在 R 中的含义可能超出您的预期。从
R Language Definition 手册(随您的 R 版本提供):
2.2.4 类
R 有一个复杂的类系统1,主要通过类属性控制。此属性是包含列表的字符向量 对象继承的类。这构成了 R 中“泛型方法”功能的基础。
用户可以不受限制地访问和操作此属性。没有检查对象是否实际包含类方法所期望的组件。因此,更改类属性时应谨慎,当它们可用时,应优先使用特定的创建和强制函数。
【讨论】:
以上是关于R中变量类型的主要内容,如果未能解决你的问题,请参考以下文章