【问题标题】:Applying combn() function to data frame?将combn()函数应用于数据框?
【发布时间】:2016-05-12 16:48:18
【问题描述】:

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

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))

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

谢谢

【问题讨论】:

  • 我觉得应该是apply(df, 1, ...):即apply(df[,-1], 1, function(x){sum(combn(x, 2, prod))})

标签: r combinations


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 1970-01-01
    • 2020-03-23
    • 2019-06-01
    • 2021-09-10
    • 2018-11-13
    • 1970-01-01
    相关资源
    最近更新 更多