pra*_*nav 6 floating-point int r
我正在研究R编程的入门,并注意到一个轻微的异常:
x <- c(2,1,1,5) 生成一个类型的向量 numy <- c(1:5) 生成一个类型的向量 intz <- c(1.5,2.3) 生成一个类型的向量 num为什么会这样?什么是基本数据类型R:是int或是它num?如果向量中的一个元素是a float,那么向量的类型会变成float或者是其他东西会发生什么?当向量中的所有元素都是float- 为什么它仍然num在那种情况下会发生什么?
有两个不同的问题在起作用:
在c(2, 1, 1, 5)您明确创建numeric类型.因为integer,你必须使用,c(2L, 1L, 1L, 5L)因为只有后缀L确保创建一个integer类型(或铸造通过as.integer()等).但请继续阅读......
在c(1:5)历史的覆盖中:发挥作用.因为用法几乎总是涉及整数序列,所以你得到的是:整数.
这两种形式都有记录,所以它不像您的问题标题所暗示的那样异常.