【问题标题】:Divide each element of xts object by corresponding value from bigger xts object将 xts 对象的每个元素除以较大 xts 对象中的相应值
【发布时间】:2018-01-11 13:44:01
【问题描述】:

如何让 R 获取一个 xts 对象并将它的每个值从其他更大的 xts 对象中除以对应的(按日期)值?

假设我有一个 xts 对象,在一个 xts 对象中以货币 A 进行销售额:

2018-01-01 200.0 

2018-01-04 400.0

我在其他 xts 对象中有货币汇率:

2018-01-01 5.0

2018-01-02 5.5

2018-01-03 5.7

2018-01-04 6.0

2018-01-05 5.9

我想在这一天将每个销售价值除以汇率并得到一个结果 xts 对象,如:

2018-01-01 40.0

2018-01-04 66.7

【问题讨论】:

标签: r division xts


【解决方案1】:

您可以合并对象(以便日期对齐),然后划分列。

library(xts)
sales <- xts(c(200, 400), as.Date(c('2018-01-01','2018-01-04')))
exchange <- xts(c(5, 5.5, 5.7, 6.0, 5.9),
            as.Date(c('2018-01-01','2018-01-02','2018-01-03','2018-01-04','2018-01-05')))

merged <- merge(sales, exchange, all=c(TRUE,FALSE))
converted <- merged$sales / merged$exchange
converted
#           sales
#2018-01-01   200
#2018-01-04   400

【讨论】:

    猜你喜欢
    • 2021-02-24
    • 1970-01-01
    • 2013-05-27
    • 2016-12-13
    • 2011-10-29
    • 1970-01-01
    • 2012-02-01
    • 2019-12-31
    • 2018-02-28
    相关资源
    最近更新 更多