【r<-基础】识别R对象的类和类型

作者: 王诗翔 | 来源:发表于2018-05-12 18:26 被阅读20次

除了使用is.*()函数,我们也可以使用class()typeof()函数来实现类型的识别。

接下来用例子展示class()typeof()作用在不同类型的对象上,它们输出信息的不同之处,我们用str()展示对象的结构。

对于数值向量:

x <- c(1, 2, 3)
class(x)
## [1] "numeric"
typeof(x)
## [1] "double"
str(x)
##  num [1:3] 1 2 3

对于整数向量:

x <- 1:3
class(x)
## [1] "integer"
typeof(x)
## [1] "integer"
str(x)
##  int [1:3] 1 2 3

对于字符向量:

x <- c("a", "b", "c")
class(x)
## [1] "character"
typeof(x)
## [1] "character"
str(x)
##  chr [1:3] "a" "b" "c"

对于列表:

x <- list(a = c(1, 2), b = c(TRUE, FALSE))
class(x)
## [1] "list"
typeof(x)
## [1] "list"
str(x)
## List of 2
##  $ a: num [1:2] 1 2
##  $ b: logi [1:2] TRUE FALSE

对于数据框:

x <- data.frame(a = c(1, 2), b = c(TRUE, FALSE))
class(x)
## [1] "data.frame"
typeof(x)
## [1] "list"
str(x)
## 'data.frame':    2 obs. of  2 variables:
##  $ a: num  1 2
##  $ b: logi  TRUE FALSE

可以看到,typeof()返回对象的低级内部类型,class()返回对象的高级类。data.frame本质上就是具有等长成分的list


在进行向量化计算是不少函数都非常有用,比如&|ifelse()等。

在取最大最小值方面,对应于普通的max()min()函数,我们可以使用pmax()pmin()求取平行最大、最小值。

相关文章

  • 【r<-基础】识别R对象的类和类型

    除了使用is.*()函数,我们也可以使用class()或typeof()函数来实现类型的识别。 接下来用例子展示c...

  • R中的S3和S4简介

    R语言有四大类型系统:基础类型、S3类型、S4类型和RC类型。 R虽然被认为是一种函数式语言,但是同样支持面向对象...

  • 8.类型信息和反射(Thinking in java学习八)

    运行时类型信息 运行时类信息使得你可以在程序运行时发现和使用类信息。 在运行时识别对象和类的信息的方式: 传统的R...

  • 类与函数设计的一些笔记(来自代码大全)

    类 类的基础 类的基础是抽象数据类型,抽象数据类型是非面向对象的数据结构;在面向对象语言了,抽象数据类型加上继承和...

  • 【r<-基础】R基础

    就像学习一门外语,如果你想要学好,必须掌握语义、语法:单词、连词、句子结构等等。学习一本编程语言也基本一样,我们如...

  • 【R编程-2】数据类型

    变量分配R-对象和R对象的数据类型变为变量的数据类型。有许多类型的R-对象。常用的有: 矢量 列表 矩阵 数组 因...

  • 13.包装类

    1.什么是包装类? java 提供了两种类型,基础类型和引用类型。使用基础类型在于效率。然而当要使用针对于对象设计...

  • R语言基础--数据类型之向量

    R语言基础--数据类型之向量 参考 常见数据类型 R拥有许多用于存储数据的对象(object)类型,包括标量(sc...

  • 面试准备

    JS 基础 数据类型 JavaScript的数据类型分为两类,原始类型和对象类型 原始类型 数字 字符串 布尔值 ...

  • Swift - UIGestureRecognizer 于几种常

    手势基础类:UIGestureRecognizer(手势识别器) 手势识别对象常常用于触摸序列或者其他输入的逻辑判...

网友评论

    本文标题:【r<-基础】识别R对象的类和类型

    本文链接:https://www.haomeiwen.com/subject/btyhdftx.html