首页 > 解决方案 > 将二变量模型应用于多个组

问题描述

我的数据与每只股票的每日收益直接列在另一只之后,如下所示:

库存 日期 退货 回报市场
库存 1 3月1日 1% 2%
库存 1 3月2日 0.5% 1%
库存 1 3 月 3 日 3% 0.7%
库存 2 3月1日 5% 2%
库存 2 3月2日 3% 1%
库存 2 3 月 3 日 4% 0.7%
库存 3 3月1日 -1% 2%
库存 3 3月2日 0.2% 1%
库存 3 3 月 3 日 6% 0.7%

它包含 2000 只股票,而且比三天多得多,但这是一个简化版本。

我想应用模型“MarketModel”,它将一个变量作为股票收益,一个作为市场收益。这将在数​​据框中的每只股票上完成。因此,它首先将模型应用于库存 1,然后沿着列表向下连续到库存 2,一直到最后。可以在此处找到有关模型的更多信息,但非常简单: https ://www.rdocumentation.org/packages/eventstudies/versions/1.2.2/topics/marketModel

然后我想将结果放入另一个数据框中,其中列出了每只股票的不同变量。

库存 其他变量 模型结果
库存 1 其他值 库存 1 的结果
库存 2 ... 库存 2 的结果
库存 3 ... 股票 3 的结果
... ... ...
库存 2000 ... ...

我是 R 的初学者,非常感谢任何可以帮助我的人!

标签: r

解决方案


你可以使用lapply函数和split函数。

split功能将帮助您按股票列出数据,如下所示:

l <- split(data, data$Stock)

现在l是数据框列表。然后,您可以将所需的模型应用于所有 df lapply,如下所示:

m <- lapply(l,modelfunction, formula=return_market~return_stock)

现在m是按库存列出的型号列表。


推荐阅读