Q
类型和变量的类
74
A
回答
87
在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对象
功能的类型模式给出信息关于Becker意义上的对象的模式,Chambers & Wilks(1988),并且与S语言的其他实现更兼容
我上面发布的链接还包含所有原生R basic types
(向量,列表等)的列表。)和所有compound objects
(因子和数据帧)以及mode
,typeof
和class
如何与每种类型相关的一些示例。
4
type
真的是指R.提供的不同的数据结构在R Language Definition manual这个讨论可以让你开始对象和类型。
另一方面,class
意味着R中的其他内容比您预期的还要多。从 的R Language Definition手册(与您的R版本出来):
2.2.4类
R有一个复杂的等级制度,通过class属性主要控制。该属性是包含对象继承的类的列表 的字符向量。这构成了R中的“通用方法”功能的基础。
该属性可以被虚拟访问和操纵,而不受用户的限制。没有检查一个对象实际上是否包含类方法期望的组件。因此,应该谨慎地改变类属性,当它们可用时,特定的创建和强制功能应该是优选的。
相关问题
- 1. 类型的“变量”,类型为“可变”
- 2. 变量和值类型
- 3. SICP类型和变量
- 4. 变量类型
- 5. 的类型变量
- 6. 类型类型中的变量
- 7. 类型铸造变量中的类型
- 8. 参数类类型变量
- 9. Windows Phone变量类类型
- 10. ActionScript变量类型
- 11. IEnumerable变量类型
- 12. python类实例变量和类变量
- 13. 类型铸造对象类型变量
- 14. `coerce`和类型变量的实例
- 15. Python中的变量和数据类型
- 16. 类型的实例变量
- 17. 添加类型的变量
- 18. 元素变量的类型
- 19. Fortran中的变量类型
- 20. 两种类型的变量
- 21. java中变量的类型
- 22. 变量类型的CoffeeScript
- 23. smalltalk中的变量类型
- 24. 布尔类型在类中的变量
- 25. 类的多个实例变量类型?
- 26. 抽象类的默认类型变量
- 27. C#类变量的定义类型
- 28. 类变量的类型注释
- 29. Ruby:元类和类变量
- 30. 父类的变化类型的变量子类
本文相关文章也可能提供有用的信息:http://stackoverflow.com/questions/8855589/a-comprehensive-survey-of-the-types-of-things-in-r-mode-and-class-和式 – 2015-07-30 03:33:23