R语言seq()函数传入向量作为from参数时输出异常问题咨询
R 语言
seq() 传入向量输出异常原因 核心逻辑:当seq()的from参数接收长度大于1的向量时,会触发特殊的返回规则,最终返回值仅和输入向量的长度有关,和向量内的元素值无关。
具体原因拆解:
- R 内置的
seq()函数有多重参数匹配逻辑,你调用seq(from = c(0,1,2))时,传入的from参数是长度为3的向量,没有匹配到「生成起止序列」的逻辑分支,反而触发了回退规则:返回1:length(输入的from向量)的整数序列 - 你传入的向量长度为3,所以最终输出就是
1 2 3,和向量里的0、1、2三个元素值没有关系 - 如果你的预期是生成从0到2的连续序列,正确写法为
seq(from = 0, to = 2),或直接简写为0:2即可,不要把起止值包装成向量传给单个from参数
你可以自行验证该规则:运行seq(from = c(10,20,30,40)),输出结果为1 2 3 4,完全符合上述逻辑。
内容的提问来源于stack exchange,提问作者Neggor
相关产品推荐
相关产品推荐

