【发布时间】:2014-02-13 10:39:28
【问题描述】:
我有这两个对象:
在第一个对象中,我想找到满足这个条件的位置:
"sig != mlag(sig) & sig != 0"
当我拥有这些位置时,我想将 xts 对象中的值(例如零)替换为满足 sig 中的条件的相同位置
我需要了解执行这些操作的正确方法。 谢谢
【问题讨论】:
标签: r xts matrix-indexing
我有这两个对象:
在第一个对象中,我想找到满足这个条件的位置:
"sig != mlag(sig) & sig != 0"
当我拥有这些位置时,我想将 xts 对象中的值(例如零)替换为满足 sig 中的条件的相同位置
我需要了解执行这些操作的正确方法。 谢谢
【问题讨论】:
标签: r xts matrix-indexing
这是一种方法。 mlag这个函数我不熟悉,你也不说它是从哪里来的,我就直接用diff.xts吧。
sigSubset <- diff.xts(sig) != 0 & sig != 0
sigSubset[1,] <- FALSE # remove any NA
x[sigSubset] <- sig[sigSubset]
【讨论】:
[.xts(xts, sigSubset) 中出现错误:'i' 或 'j' 超出范围?
x[sigSubset] 不起作用,因为它对于时间序列结构没有意义。尝试sig[sigSubset] 并注意它返回一个向量。没有与该行为等效的时间序列。