Julia中实现R语言replace()函数功能的最简方法
Julia 中实现 R 语言 replace() 功能的最简方法
在 Julia 中无需专门的replace函数,直接通过索引赋值就能实现和 R 里replace(A, I, B)完全一致的功能,这是最简洁高效的方式:
情况1:B 是标量值
直接对数组的目标索引位置批量赋值:
# 初始化示例数组 A = [1, 2, 3, 4, 5] # 要替换的索引集合 I = [2, 4] # 标量替换值 B = 0 # 执行替换(修改原数组) A[I] .= B
执行后 A 会变为 [1, 0, 3, 0, 5],和 R 中replace(A, I, B)的输出结果一致。
情况2:B 是与 I 长度匹配的向量
直接将向量值对应赋值到目标索引:
A = [1, 2, 3, 4, 5] I = [2, 4] B = [10, 20] # 执行替换 A[I] = B
执行后 A 变为 [1, 10, 3, 20, 5],对应 R 中向量替换场景的效果。
保留原数组的写法
如果不想修改原数组,先复制一份再操作:
A = [1, 2, 3, 4, 5] A_new = copy(A) A_new[I] .= B
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

