我想以此作为序言,说我是一个绝对的编程初学者,所以请原谅这个问题是多么基本。
我试图更好地理解 R 中的“原子”类,也许这适用于一般编程中的类。我理解字符、逻辑和复杂数据类之间的区别,但我正在努力寻找数字类和整数类之间的根本区别。
假设我有一个简单的向量 x <- c(4, 5, 6, 6)
整数,它是一个整数类是有意义的。但是当我这样做时class(x)
我得到[1] "numeric"
。然后,如果我将此向量转换为整数类 x <- as.integer(x)
。它返回完全相同的数字列表,只是类别不同。
我的问题是为什么会出现这种情况,为什么一组整数的默认类是数字类,以及将整数设置为数字而不是整数的优点和/或缺点是什么。
最佳答案
有多个类被分组为“数字”类,其中最常见的 2 个类是 double(对于 double float )和整数。 R 会在需要时自动在数字类之间进行转换,因此对于普通用户来说,大多数情况下数字 3 当前存储为整数还是 double 并不重要。大多数数学运算都是使用 double 完成的,因此这通常是默认存储。
有时,如果您知道向量永远不会转换为 double (用作 ID 值或索引),因为整数需要较少的存储空间,您可能需要专门将向量存储为整数。但是,如果它们要用于任何将它们转换为 double 的数学,那么一开始将它们存储为 double 可能是最快的。
关于r - R中整数类和数字类有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660094/