【发布时间】:2022-01-10 19:47:47
【问题描述】:
我有一个数据框,其中第 1 列包含日期,第 2 列到 180 列股票回报。我想计算所有股票的回报。我尝试过 for 循环,但找不到正确的语法。我应该使用应用功能吗?感谢您的帮助。
我的数据看起来像
| date | comp x | comp n |
|---|---|---|
| 01-11 | price x1 | price n1 |
| 02-11 | price x2 | price n2 |
公司从 x 到 n 并在第 2 列到 180 列中。对于所有这些公司,我想获得回报。因此计算(价格 2 - 价格 1)/(价格 1)。我试图通过使用 for 循环和 Delt 命令来做到这一点。但是,我不断收到错误。还有另一种方法可以做到这一点吗?例如通过创建一个新的数据框?
【问题讨论】:
-
通常您会转轴为 3 列,日期、股票名称、股票价值,然后您将能够更轻松地循环或应用
-
您能否发布您的数据的 sn-p,例如
dput(data[1:10, 1:10])?另外,“计算”是什么意思 - 平均值、总数、日期、月份、年份?