Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为什么seq()同时创建int和num向量,而c()从不创建int向量?_R - Fatal编程技术网

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

R 为什么seq()同时创建int和num向量,而c()从不创建int向量?,r,R,我不明白为什么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 seqDecc通过连接给定的元素来创建向量。相比之下,seq实

我不明白为什么
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

seqDec
c
通过连接给定的元素来创建向量。相比之下,
seq
实际上是通过基于特定参数生成新数字来构建序列的

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

笨重的。但这是可能的

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

intvec = 1 : 5
事实上,如果您没有提供
by
length.out
参数,那么
seq(from,to)
在内部执行
from:to

intvec = 1 : 5