R:向量中的 Int 与 Num 异常

R : Int vs Num Anomaly in Vector

我正在学习 R 编程入门,发现一个轻微的异常:

为什么会这样? R 中的基本数据类型是什么:是 int 还是 num ?如果向量中的元素之一是 float 会发生什么,向量的类型会变成 float 还是其他?当向量中的所有元素都是 float 时会发生什么 - 为什么在那种情况下它仍然是 num

有两个明显的问题在起作用:

  1. c(2, 1, 1, 5) 中,您 明确地 创建 numeric 类型。对于 integer,您必须使用 c(2L, 1L, 1L, 5L),因为只有后缀 L 才能确保创建 integer 类型(或通过 as.integer() 等进行转换)。但是请继续阅读...

  2. c(1:5) 中,: 的历史覆盖开始发挥作用。因为用法几乎总是涉及整数序列,所以这就是您得到的:整数。

两种形式都有记录,因此这不是您问题标题所暗示的异常。