R语言中基于除数将商转换为求和等价重复序列的技术问询
在R中实现按指定次数重复商的序列扩展
嘿,这事儿在R里其实特别简单,用内置的rep()函数就能直接搞定你的需求!
具体步骤:
- 先计算
values和vectors对应元素的商 - 用
rep()函数,把每个商按照vectors里对应的次数重复展开
完整代码示例:
# 定义你的数据 values <- c(100, 101, 102, 103, 316, 330, 106, 205) vectors <- c(1, 1, 1, 1, 3, 3, 1, 2) # 计算对应商 quotients <- values / vectors # 按指定次数重复扩展 expanded_sequence <- rep(quotients, times = vectors) # 查看结果 expanded_sequence
运行结果:
> expanded_sequence [1] 100.0000 101.0000 102.0000 103.0000 105.3333 105.3333 105.3333 110.0000 110.0000 110.0000 106.0000 102.5000 102.5000
完全和你期望的结果一致!而且这个方法的逻辑也很直观:rep()的times参数接受一个整数向量,会把第一个参数里的每个元素,分别重复对应位置times里的次数。这样扩展后的序列求和,刚好等于原values的求和(因为每个商×重复次数就是原values的元素,总和自然相等)。
内容的提问来源于stack exchange,提问作者17757970
相关产品推荐
相关产品推荐

