将 combn() 函数应用于数据框?

Applying combn() function to data frame?

所以我有一个包含不同股票特定类型数据的数据框,示例如下:

Date     RY    TD     BNS...
10-01   2.98   2.29   1.91
10-02   2.96   2.61   2.15
10-03   2.96   2.59   2.09
...

我想做的是用combn()函数计算2只股票所有可能组合的乘积之和。我知道如何使用单个值来做到这一点,例如:

df <- c(2.98, 2.29, 1.91)
sum(combn(df, 2, prod))

但是现在我有了一个包含每个交易品种每日数据的数据框,我该如何应用上述函数并将求和结果输出为每个日期对应的数据列表?

谢谢

正如 Alistaire 所建议的,apply 可以很容易地用于此

apply(df[, -1], 1, function(x) {
     sum(combn(x, 2, prod))
}
)

您还可以使用包 parallel 并在多核模式下使用 mcapply* 函数 运行 它