R- 在 typeof() 函数的情况下,c(1:6) 和 c(1,2,3,4,5,6) 之间的区别?

R- Difference betwen c(1:6) and c(1,2,3,4,5,6) in the case of typeof() function?

提问人:Sanku 提问时间:8/14/2016 更新时间:8/14/2016 访问量:233

问:

我知道默认情况下,R 会将我们键入的任何数字保存为“double”。但是,如果我运行以下代码,它会给我两个不同的答案

代码 1

die <- c(1:6)
typeof(die)

OUTPUT1:-[1] “整数”

代码 2

die <- c(1,2,3,4,5,6)
typeof(die)

OUTPUT2:-[2] “双”

因此,如果我使用 c(1:6) 和“double”,如果我直接指定列表中的所有元素,请澄清为什么这个“整数”?

r

评论


答:

2赞 Zheyuan Li 8/14/2016 #1

如果这样做,你将得到“整数”而不是“双精度”。只需比较和.或者你可以在这里阅读我的回答:is.integer 是如何工作的?c(1L, 2L, 3L, 4L, 5L, 6L)tyoeof(1)typeof(1L)

1:6是 的缩写,因此您可以获得整数存储模式下的向量。seq.int(1, 6)

typeof(c(1L, 2L, 3L, 4L, 5L, 6L))
# [1] "integer"

typeof(1:6)
# [1] "integer"

typeof(seq.int(1, 6))
# [1] "integer"