【问题标题】:indexing and substitution of xts elementsxts 元素的索引和替换
【发布时间】:2014-02-13 10:39:28
【问题描述】:

我有这两个对象:

sig (class matrix)

xts (class xts)

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

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

我需要了解执行这些操作的正确方法。 谢谢

【问题讨论】:

    标签: r xts matrix-indexing


    【解决方案1】:

    这是一种方法。 mlag这个函数我不熟悉,你也不说它是从哪里来的,我就直接用diff.xts吧。

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

    【讨论】:

    • 为什么如果我输入 x[sigSubset] 在[.xts(xts, sigSubset) 中出现错误:'i' 或 'j' 超出范围?
    • @Fryc:我不知道。这适用于我使用 R-3.0.2 和 CRAN 上的最新 xts。
    • 这很奇怪,因为如果我输入: x[sigSubset]
    • @Fryc:对不起,我误会了。 x[sigSubset] 不起作用,因为它对于时间序列结构没有意义。尝试sig[sigSubset] 并注意它返回一个向量。没有与该行为等效的时间序列。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 2019-10-12
    • 2015-01-03
    • 1970-01-01
    • 2019-06-23
    • 2017-08-06
    • 2023-04-07
    相关资源
    最近更新 更多