3.2 类

R中的所有变量都有一个类,表明此变量属于什么类型。例如,大部分的数字是numeric类(其他类型请参见下一节),逻辑值是logical类。其实,因为R没有标量类型(scalar type),所以更严格地说,数字向量应该是numeric类,逻辑值向量logical类。在R中“最小的”数据类型是向量。

可使用class( my_variable )来找出变量的类名:

  1. class(c(TRUE, FALSE))
  2. ## [1] "logical"

值得的注意是,所有的变量除了类之外,还有一个内部存储类型(通过typeof访问)、一个模式(mode),以及一个存储模式(storage.mode)。这听起来很复杂,不过无需担心,因为类型、模式和存储模式大多为历史遗留存在,实际中你只需使用对象的类(除非你加入了R的核心团队)。附录A有一个参照表显示了各种变量类型的类、类型和(存储)模式及其关系。如果你不认识其中的一些类,不用担心,也没必要死记硬背。你只需浏览表格,注意它们之间的关联性。

简单起见,从现在开始,我会把“类”(class)和“类型”(type)完全等同起来(除非另作说明)。