R xts元素的索引和替换

R xts元素的索引和替换,r,xts,matrix-indexing,R,Xts,Matrix Indexing,我有两个目标: 及 在第一个对象中,我想找到满足此条件的位置: “sig!=mlag(sig)&sig!=0” 当我有这些位置时,我想在满足sig中条件的相同位置替换xts对象中的值(例如零) 我需要了解做这些事情的正确方法。 谢谢这里有一个方法。我不熟悉mlag函数,您也不知道它来自何处,所以我将使用diff.xts sigSubset <- diff.xts(sig) != 0 & sig != 0 sigSubset[1,] <- FALSE # remove a

我有两个目标:

在第一个对象中,我想找到满足此条件的位置:
“sig!=mlag(sig)&sig!=0”

当我有这些位置时,我想在满足
sig
中条件的相同位置替换xts对象中的值(例如零)

我需要了解做这些事情的正确方法。
谢谢

这里有一个方法。我不熟悉
mlag
函数,您也不知道它来自何处,所以我将使用
diff.xts

sigSubset <- diff.xts(sig) != 0 & sig != 0
sigSubset[1,] <- FALSE  # remove any NA
x[sigSubset] <- sig[sigSubset]

sigSubset为什么我键入x[sigSubset]会在
[.xts
(xts,sigSubset)中出错:'i'或'j'超出范围?@Fryc:我不知道。这对我使用R-3.0.2和CRAN上最新的xts有效。这很奇怪,因为如果我键入:x[sigSubset]@Fryc:对不起,我误解了。
x[sigSubset]
不起作用,因为它对时间序列结构没有意义。请尝试
sig[sigSubset]
并注意它返回一个向量。没有与该行为等价的时间序列。