求和特定行和列的问题

Trouble with summing specific rows and columns

我有一个问题,想知道是否有代码可以让我比手动解决问题更快。

所以对于我的例子,我有 100 只不同的基金,其中有许多证券。在每个基金中,我有基金中每种证券的 Name,显示给定季度的 Date,发行证券的 State,以及 Weighting 总基金的每个证券。 Name 并不重要,重要的是 State 从哪里发出。

我想知道是否有一种方法可以让我根据每个季度想要的特定 State 将每个不同基金的 Weighting 相加。因此,假设从 Fund1 开始,我需要 Weighting 的总和,仅适用于 16-1Q 的州 SC 和 AZ。总和为 (.18 + .001)。我不需要包括 KS 的权重,因为我对该特定状态不感兴趣。我只对每个 FundId 的状态 SC 和 AZ 感兴趣。然而,在我真正的问题中,我对大约 30 个状态感兴趣。然后我会在 16-2Q 为 Fund1 执行相同的任务,依此类推,直到 17-4Q。我的最终目标是找到我感兴趣的状态的每个投资组合权重的总和,并查看它如何随时间变化。我可以通过每个基金手动执行此操作,但是有没有一种方法可以根据我想要的 State 和每个 Date( 16-1Q、16-2Q 等)?

最后我想要一个table如:

(.XX) 是投资组合权重之和

数据示例

您发送的数据示例 link 的数据格式比“XX 是投资组合权重的总和”示例好得多...仅在 Excel 中您更喜欢其他类型格式

所以使用示例数据框,执行此操作

library(dplyr)

example_data <- example_data %>%
group_by(Fund_Id) %>%
summarize(sum = sum(Weighting))

我们可以在base R

中使用aggregate
aggregate(Weighting ~ Fund_id, example_data, sum)