使用合并函数从 xts 对象获取最大值
Get maximum from xts object using merge function
您好,我正在使用 R quantmod 库,我想找到 return 两个值中的最大值(今天的交易量与昨天的交易量)。
require(quantmod)
getSymbols("HELE")
# Ok now when I do this it does not return a single column with the highest
# volume
head( merge( HELE, max (HELE$HELE.Volume,lag(HELE$HELE.Volume, k=1 ) ) ) )
这通常有效,因为例如我想从昨天的收盘价中减去今天的高点,我可以这样做。
head( merge(HELE, abs(HELE$HELE.High - lag(HELE$HELE.Close, k=1) ) ) )
我也尝试过应用功能,但效果不佳,
head( merge(HELE, as.xts(apply( c(lag(HELE$HELE.Volume, k=1 ), HELE$HELE.Volume ), 1, max) ) ) )
提前致谢。
阿迪
试试这个:
head(merge(HELE, pmax (HELE$HELE.Volume,lag(HELE$HELE.Volume, k=1), na.rm=TRUE)))
pmax
是 max
的向量化版本,即它找到两个向量之间的成对 max
。您还需要包含一个 na.rm=TRUE
,否则您将在缺少值的地方得到 NA。
仅使用 max
它将找到两个向量之间的全局最大值并创建一个仅填充该值的列。
输出:
> head(merge( HELE, pmax (HELE$HELE.Volume,lag(HELE$HELE.Volume, k=1 ) , na.rm=T) ) )
HELE.Open HELE.High HELE.Low HELE.Close HELE.Volume HELE.Adjusted HELE.Volume.1
2007-01-03 24.25 25.16 24.25 25.12 251800 25.12 251800
2007-01-04 25.15 25.50 25.06 25.49 224400 25.49 251800
2007-01-05 25.45 25.50 24.78 24.93 289700 24.93 289700
2007-01-08 24.82 25.19 24.65 24.69 285000 24.69 289700
2007-01-09 21.84 22.60 21.75 22.19 1534800 22.19 1534800
2007-01-10 22.11 22.50 21.87 22.45 293600 22.45 1534800
您好,我正在使用 R quantmod 库,我想找到 return 两个值中的最大值(今天的交易量与昨天的交易量)。
require(quantmod)
getSymbols("HELE")
# Ok now when I do this it does not return a single column with the highest
# volume
head( merge( HELE, max (HELE$HELE.Volume,lag(HELE$HELE.Volume, k=1 ) ) ) )
这通常有效,因为例如我想从昨天的收盘价中减去今天的高点,我可以这样做。
head( merge(HELE, abs(HELE$HELE.High - lag(HELE$HELE.Close, k=1) ) ) )
我也尝试过应用功能,但效果不佳,
head( merge(HELE, as.xts(apply( c(lag(HELE$HELE.Volume, k=1 ), HELE$HELE.Volume ), 1, max) ) ) )
提前致谢。 阿迪
试试这个:
head(merge(HELE, pmax (HELE$HELE.Volume,lag(HELE$HELE.Volume, k=1), na.rm=TRUE)))
pmax
是 max
的向量化版本,即它找到两个向量之间的成对 max
。您还需要包含一个 na.rm=TRUE
,否则您将在缺少值的地方得到 NA。
仅使用 max
它将找到两个向量之间的全局最大值并创建一个仅填充该值的列。
输出:
> head(merge( HELE, pmax (HELE$HELE.Volume,lag(HELE$HELE.Volume, k=1 ) , na.rm=T) ) )
HELE.Open HELE.High HELE.Low HELE.Close HELE.Volume HELE.Adjusted HELE.Volume.1
2007-01-03 24.25 25.16 24.25 25.12 251800 25.12 251800
2007-01-04 25.15 25.50 25.06 25.49 224400 25.49 251800
2007-01-05 25.45 25.50 24.78 24.93 289700 24.93 289700
2007-01-08 24.82 25.19 24.65 24.69 285000 24.69 289700
2007-01-09 21.84 22.60 21.75 22.19 1534800 22.19 1534800
2007-01-10 22.11 22.50 21.87 22.45 293600 22.45 1534800