R中的整数类和数值类有什么不同 [英] What's the difference between integer class and numeric class in R
本文介绍了R中的整数类和数值类有什么不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想先说我是一个绝对的编程初学者,所以请原谅这个问题有多基本。
我正在尝试更好地理解R中的"原子"类,也许这适用于一般编程中的类。我理解字符、逻辑和复杂数据类之间的区别,但我很难找到数字类和整型类之间的根本区别。
假设我有一个简单的整数向量x <- c(4, 5, 6, 6)
,它是一个整数类是有意义的。但当我这样做时,我得到了[1] "numeric"
。然后,如果我将这个向量转换为一个整数类x <- as.integer(x)
。它返回完全相同的数字列表,只是类不同。
我的问题是,为什么会出现这种情况,为什么一组整数的默认类是数值类,将整数设置为数值而不是整数有什么优点和缺点。
推荐答案
有多个类被分组为"数字"类,其中最常见的两个类是Double(用于双精度浮点数)和Integer。R将在需要时自动在数字类之间进行转换,因此对于临时用户来说,数字3当前是以整数形式存储还是以双精度形式存储对大多数用户来说都无关紧要。大多数数学运算都是使用双精度完成的,因此这通常是默认存储。
有时,如果您知道向量永远不会转换为双精度(用作ID值或索引),那么您可能希望将向量专门存储为整数,因为整数需要较少的存储空间。但如果要在任何将它们转换为双精度的数学中使用它们,那么从一开始就将它们存储为双精度可能是最快的。这篇关于R中的整数类和数值类有什么不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文