我有以下代码:

library(quantmod)
AAPL_dividend<-getDividends("AAPL",from='2017-01-01',to='2022-01-01')
getSymbols("AAPL",from='2017-01-01',to='2022-01-01')
AAPL_Price<-AAPL$AAPL.Close

我想在这里做的是,在时间范围内,我想要定位AAPL_Price相对于AAPL_DREADY的股息支付日期的股票价格.请问有没有这样的功能呢?非常感谢.

推荐答案

我们可以按索引对数据集进行merge,转换成data.frame(fortify.zoo)并丢弃NA

library(dplyr)
library(zoo)
library(tidyr)
merge(AAPL, AAPL_dividend) %>% 
  fortify.zoo() %>% 
  drop_na(AAPL.div)

-输出

        Index AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted AAPL.div
1  2017-02-09   32.9125   33.1125  32.7800    33.1050   113399600      31.16726 0.035625
2  2017-05-11   38.1125   38.5175  38.0775    38.4875   109020400      36.38427 0.039375
3  2017-08-10   39.9750   40.0000  38.6575    38.8300   163217200      36.85221 0.039375
4  2017-11-10   43.7775   43.8450  43.5675    43.6675   100582000      41.59229 0.039375
5  2018-02-09   39.2675   39.4725  37.5600    39.1025   282690400      37.39608 0.039375
6  2018-05-11   47.3725   47.5150  46.8625    47.1475   104848800      45.26388 0.045625
7  2018-08-10   51.8400   52.2750  51.6675    51.8825    98444800      49.98439 0.045625
8  2018-11-08   52.4950   52.5300  51.6875    52.1225   101450400      50.39082 0.045625
9  2019-02-08   42.2475   42.6650  42.1050    42.6025    95280000      41.36375 0.045625
10 2019-05-10   49.3550   49.7125  48.1925    49.2950   164834800      48.04597 0.048125
11 2019-08-09   50.3250   50.6900  49.8225    50.2475    98478800      49.16042 0.048125
12 2019-11-07   64.6850   65.0875  64.5275    64.8575    94940400      63.64484 0.048125
13 2020-02-07   80.5925   80.8500  79.5000    80.0075   117684000      78.69791 0.048125
14 2020-05-08   76.4100   77.5875  76.0725    77.5325   133838400      76.46986 0.051250
15 2020-08-07  113.2050  113.6750 110.2925   111.1125   198045600     109.78722 0.051250
16 2020-11-06  118.3200  119.2000 116.1300   118.6900   114457900     117.47666 0.205000
17 2021-02-05  137.3500  137.4200 135.8600   136.7600    75693800     135.56421 0.205000
18 2021-05-07  130.8500  131.2600 129.4800   130.2100    78973300     129.29073 0.220000
19 2021-08-06  146.3500  147.1100 145.6300   146.1400    54126800     145.32565 0.220000
20 2021-11-05  151.8900  152.2000 150.0600   151.2800    65463900     150.65659 0.220000

R相关问答推荐

计算具有奇数日期的运行金额

无法正确设置动态创建的Quarto标注的格式

如何用书面利率绘制geom_bar图

从多个线性回归模型中提取系数

我如何go 掉盒子图底部的数字?

将数据集旋转到长格式,用于遵循特定名称模式的所有变量对

如何计算增加10米(0.01公里)的行?

观察器中的inaliateLater的位置

自定义交互作用图的标签

按镜像列值自定义行顺序

具有自定义仓位限制和计数的GGPLATE直方图

R/shiny APP:如何充分利用窗口?

在使用ggplot2的情况下,如何在使用coord_trans函数的同时,根据未转换的坐标比来定位geom_瓷砖?

GgHighlight找不到它创建的列:`Highlight..1`->;`Highlight.....`

如果缺少时间,如何向日期-时间列添加时间

向量化sApply函数

将数据框特定列中的数字舍入到最接近的季度

Pairwise_t_test()不返回统计数据和估计

按不同的百分比将货币分配到多个组中,总和始终等于原始合计

根据数据设置离散y轴的限制并编辑y轴标注