【发布时间】:2014-07-02 19:54:47
【问题描述】:
我想先说我是一个绝对的编程初学者,所以请原谅这个问题有多基本。
我正试图更好地理解 R 中的“原子”类,也许这适用于一般的编程类。我了解字符、逻辑和复杂数据类之间的区别,但我很难找到数字类和整数类之间的根本区别。
假设我有一个简单的整数向量x <- c(4, 5, 6, 6),这将是一个整数类。但是当我做class(x) 时,我得到[1] "numeric"。然后,如果我将此向量转换为整数类x <- as.integer(x)。它返回相同的确切数字列表,除了类不同。
我的问题是为什么会这样,为什么一组整数的默认类是数字类,以及将整数设置为数字而不是整数的优点和缺点是什么。
【问题讨论】:
-
as.integer(c(4.1, 5.2, 6.3, 6.4))是否有助于您了解其中的差异?您需要了解内部表示和打印的内容根本不一样。无论如何,请阅读计算机语言中的数据类型。 -
在右边的“相关”栏中是这个问题:stackoverflow.com/questions/8804779/…
-
尝试
x <- 1; is.integer(x); is.numeric(x),然后尝试x <- 1L; is.integer(x); is.numeric(x),您可能会看到一点不同。整数类更多地用于从 C 结构和 R 结构中传递变量。不过,这还有很多。 -
@Roland 我没有考虑指定精度的类。我习惯于使用浮点方法来操作整数类。这是有道理的。
标签: r class object integer numeric