gpt4 book ai didi

r - 为什么 seq() 同时创建 int 和 num 向量,而 c() 从不创建 int 向量?

转载 作者:行者123 更新时间:2023-12-02 09:10:38 25 4
gpt4 key购买 nike

我不明白为什么 seq() 可以根据元素中是否存在小数点输出不同的类,而 c() 总是创建一个 num向量,无论是否存在小数。

例如:

seqDec <- seq(1, 2, 0.5) # num vector
cDec <- c(1, 1.5, 2) # num vector
seqInt <- seq(1, 5) # int vector
cInt <- c(1, 2, 3, 4, 5) # num vector

最佳答案

c 通过连接您提供的元素来创建一个向量。相比之下,seq 实际上是通过根据特定参数生成新数字来构建序列。

因此,在 c(1, 2, 4, 5) 的情况下,由于参数是数字,因此结果也是 (class(1 )数字,而不是整数!)。您可以通过提供整数来生成整数向量:

intvec = c(1L, 2L, 3L, 4L, 5L)

麻烦。但有可能。

使用seq,如果不提供步长(by参数),函数默认生成整数值;在这方面,它相当于 : 运算符:

intvec = 1 : 5

事实上,如果您不提供 bylength.out 参数,则 seq(from, to) 会在内部执行从:到

关于r - 为什么 seq() 同时创建 int 和 num 向量,而 c() 从不创建 int 向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52739502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com