R 中 class 和 typeof 函数有什么区别?


R 中的 class 函数帮助我们了解对象类型,例如数据框的 class 输出是整数,而同一个对象的 typeof 是列表,因为数据框以列表的形式存储在内存中,但以数据框的形式表示。查看以下包含多种类型对象的示例以了解它们之间的差异。

示例 1

 现场演示

x1<-rpois(20,2)
typeof(x1)

输出

[1] "integer"

class(x1)

[1] "integer"
df1<-data.frame(x1)
df1
   x1
1  1
2  4
3  1
4  0
5  2
6  2
7  4
8  2
9  3
10 4
11 1
12 4
13 0
14 5
15 2
16 2
17 0
18 4
19 3
20 3

typeof(df1)

[1] "list"

class(x1)

[1] "integer"

示例 2

 现场演示

M<-matrix(rnorm(40),ncol=2)
M

输出

        [,1]          [,2]
[1,]   2.02437789  -0.9161853
[2,]  -0.60108978  -0.8972007
[3,]   1.27916953   0.1017923
[4,]   1.06998017   1.4839931
[5,]   0.22298522   0.6160919
[6,]  -0.29346341  -0.3975116
[7,]   2.07012097  -0.7900820
[8,]   0.36719470  -0.1100298
[9,]  -0.69522122  -1.9198172
[10,]  2.07822428   0.2517532
[11,] -1.56267422   1.8295022
[12,] -1.07488221   1.2666054
[13,] -0.79381494  -1.0993693
[14,] -0.16027224  -1.1814177
[15,]  0.67561791   0.7309281
[16,] -1.40912018  -0.3307749
[17,] -0.77769513   0.5527600
[18,]  0.47050704   0.1075593
[19,] -0.46616151  -0.5079660
[20,] -0.01944371   0.1553333

typeof(M)

[1] "double"

class(M)

[1] "matrix" "array"

更新于: 2021 年 3 月 6 日

5K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告