R 计算“xts”对象列表上的范围
在R 计算“xts”对象列表上的范围,r,date,xts,R,Date,Xts,在R中,我有一个xts对象的列表,我想计算列表中所有项目的时间索引范围。但是我找不到一个平滑的方法,它不断地丢失对象的类&成为原始的数值向量 例如(我的列表称为states,它由GMTPOSIXct索引): 将它们转换回POSIXct很麻烦,我就是这样做的: minmax <- range(sapply(states, function(x) range(index(x)))) epoch <- as.POSIXct(0, origin="1970-01-01", tz="GMT
R
中,我有一个xts
对象的列表,我想计算列表中所有项目的时间索引范围。但是我找不到一个平滑的方法,它不断地丢失对象的类&成为原始的数值向量
例如(我的列表称为states
,它由GMTPOSIXct
索引):
将它们转换回POSIXct
很麻烦,我就是这样做的:
minmax <- range(sapply(states, function(x) range(index(x))))
epoch <- as.POSIXct(0, origin="1970-01-01", tz="GMT")
rg <- as.POSIXct(minmax, origin="1970-01-01", tz="GMT")
minmax使用lappy
查找每个列表元素的索引范围。然后使用do.call
查找列表的范围:
do.call(range, lapply(states, function(x) range(index(x))))
或者,如果您更喜欢功能范例:
Reduce(range, Map(function(x) range(index(x)), states))
sapply
不起作用,因为简化过程将输出转换为一个原子向量或矩阵,其中一种类型为:NULLlappy
查找每个列表元素的索引范围。然后使用do.call
查找列表的范围:
do.call(range, lapply(states, function(x) range(index(x))))
或者,如果您更喜欢功能范例:
Reduce(range, Map(function(x) range(index(x)), states))
sapply
不起作用,因为简化过程将输出转换为原子向量或矩阵,其中一种类型为:NULL