使用变量作为开始和结束期间的子集 xts 对象
Subset xts object using variables for start and end periods
我有一个名为 'usagexts' 的 xts 对象,日期为 2015 年 10 月 1 日至 2018 年 3 月 31 日。我想在 10 月 15 日至 2016 年 10 月 1 日至 2016 年 3 月 31 日、10 月 16 日期间创建该对象的 3 个子集到 17 年 3 月 31 日和 17 年 10 月 1 日到 18 年 3 月 31 日,实际上没有对日期进行硬编码,因为这些日期会随着时间的推移而改变。
对象结构是这样的:
dateperiod,usageval
2015-10-01,21542
2015-10-02,21572
2015-10-03,21342
...
...
2018-03-31,20942
我有另一个名为 'periodvalues' 的数据框,如下所示:-
startdate,enddate, periodtext
2015-10-01,2016-03-31,1510_1603
2016-10-01,2017-03-31,1610_1703
2017-10-01,2018-03-31,1710_1803
我希望能够像这样创建 3 个 xts 对象:-
usagexts_1510_1603 -> xts object containing usage details for relevant period
usagexts_1610_1703 -> xts object containing usage details for relevant period
usagexts_1710_1803 -> xts object containing usage details for relevant period
我只创建了一个大小为 3 的列表,其中包含来自上述数据框的句点文本。我试图通过变量使用 "objectname fromdate/todate" 结构以某种方式指定 xts 对象的开始和结束时间段,但它不起作用 - 像这样:
usagexts_1610_1703 <- usagexts[var1/var2]
左轴来自列表,右轴的变量来自之前定义的变量。
usagexts_1610_1703 <- usagexts[var1/var2]
预期结果应该是这样的:
usagexts_1510_1603 <- usagexts["2015-10-01/2016-03-31"]
usagexts_1610_1703 <- usagexts["2016-10-01/2017-03-31"]
usagexts_1710_1803 <- usagexts["2017-10-01/2018-03-31"]
对此的任何帮助都将受到高度重视。
此致
迪帕克
如果 var1 和 var2 是变量,则可以使用 paste as 指定过滤字符串:
usagexts[paste(var1, var2, sep="/")]
我有一个名为 'usagexts' 的 xts 对象,日期为 2015 年 10 月 1 日至 2018 年 3 月 31 日。我想在 10 月 15 日至 2016 年 10 月 1 日至 2016 年 3 月 31 日、10 月 16 日期间创建该对象的 3 个子集到 17 年 3 月 31 日和 17 年 10 月 1 日到 18 年 3 月 31 日,实际上没有对日期进行硬编码,因为这些日期会随着时间的推移而改变。
对象结构是这样的:
dateperiod,usageval
2015-10-01,21542
2015-10-02,21572
2015-10-03,21342
...
...
2018-03-31,20942
我有另一个名为 'periodvalues' 的数据框,如下所示:-
startdate,enddate, periodtext
2015-10-01,2016-03-31,1510_1603
2016-10-01,2017-03-31,1610_1703
2017-10-01,2018-03-31,1710_1803
我希望能够像这样创建 3 个 xts 对象:-
usagexts_1510_1603 -> xts object containing usage details for relevant period
usagexts_1610_1703 -> xts object containing usage details for relevant period
usagexts_1710_1803 -> xts object containing usage details for relevant period
我只创建了一个大小为 3 的列表,其中包含来自上述数据框的句点文本。我试图通过变量使用 "objectname fromdate/todate" 结构以某种方式指定 xts 对象的开始和结束时间段,但它不起作用 - 像这样:
usagexts_1610_1703 <- usagexts[var1/var2]
左轴来自列表,右轴的变量来自之前定义的变量。
usagexts_1610_1703 <- usagexts[var1/var2]
预期结果应该是这样的:
usagexts_1510_1603 <- usagexts["2015-10-01/2016-03-31"]
usagexts_1610_1703 <- usagexts["2016-10-01/2017-03-31"]
usagexts_1710_1803 <- usagexts["2017-10-01/2018-03-31"]
对此的任何帮助都将受到高度重视。
此致
迪帕克
如果 var1 和 var2 是变量,则可以使用 paste as 指定过滤字符串:
usagexts[paste(var1, var2, sep="/")]