【发布时间】:2017-11-02 14:14:33
【问题描述】:
我有两个数据框,A 和 B。两个数据框都具有三种不同产品的值。
这是一个:
Product Q1
1 Product X 4
2 Product Y 7
3 Product Z 8
这里是 B:
Product Q1
1 Product X 41
2 Product Y 72
3 Product Z 89
我想通过执行以下操作对这些数据帧进行计算:
- 将产品 X 在 A 中的 Q1 值除以 产品 X 在 B 中的 Q1 值。然后将产品 X 在 A 中的 Q1 值除以 产品 Y 在 B 中的 Q1 值。然后到 Z。(所以 产品 X 在 A 中的 Q1 值 是一个常数,它被 B 中每个产品的 Q1 值除。)
- 那么下一列将是相同的,但 产品 Y 在 Q 中的 Q1 值。
- 最后,Z 也是如此。
理想情况下,我最终会得到这样的数据框:
Product ProductXdiv ProductYdiv ProductZdiv
1 Product X 0.09756098 0.17073171 0.19512195
2 Product Y 0.05555556 0.09722222 0.11111111
3 Product Z 0.04494382 0.07865168 0.08988764
是否有一个包可以帮助以相当简单的方式计算这个?还是需要自定义功能?非常感谢您的建议。
【问题讨论】:
-
a <- c(4, 7, 8) ; b <- c(41, 72, 89) ; outer(a, b, "/")或a %*% t(1 / b)(可能再次转置)
标签: r