在R语言中如何在两个数值之间按等步长生成序列?
R语言实现两个数值间等步长取值
首先匹配你的示例逻辑:10和12之间按1个步长计数返回11,即返回结果为两数之间的中间分点,不包含首尾端点,1个步长对应1个中间分点,15个步长对应15个中间分点。
实现代码
# 定义参数:起始值、结束值、需要的步长/中间分点数量 start <- 100.0145 end <- 100.3325 step_count <- 15 # 方案1:直接用seq函数生成分点后截取中间段 result <- seq(from = start, to = end, length.out = step_count + 2)[2:(step_count + 1)] # 方案2:先计算步长值再生成结果,逻辑更直观 step_length <- (end - start) / (step_count + 1) result <- start + step_length * 1:step_count
结果校验
用你的示例参数测试:将start设为10、end设为12、step_count设为1,两种方案都会返回11,完全符合预期。
特殊场景说明:如果你需要返回的结果包含首尾端点(即15个间隔对应16个数值),直接调用
seq(from = start, to = end, length.out = step_count + 1)即可。
内容的提问来源于stack exchange,提问作者HelpNeededAgain
相关产品推荐
相关产品推荐

