我想创建一个与rpivotTable
包一起使用的计算字段,类似于excel中的功能。
例如,请考虑下表:
+--------------+--------+---------+-------------+-----------------+
| Manufacturer | Vendor | Shipper | Total Units | Defective Units |
+--------------+--------+---------+-------------+-----------------+
| A | P | X | 173247 | 34649 |
| A | P | Y | 451598 | 225799 |
| A | P | Z | 759695 | 463414 |
| A | Q | X | 358040 | 225565 |
| A | Q | Y | 102068 | 36744 |
| A | Q | Z | 994961 | 228841 |
| A | R | X | 454672 | 231883 |
| A | R | Y | 275994 | 124197 |
| A | R | Z | 691100 | 165864 |
| B | P | X | 755594 | 302238 |
| . | . | . | . | . |
| . | . | . | . | . |
+--------------+--------+---------+-------------+-----------------+
(我的实际表格中有更多列,包括维度和度量,时间等等,我需要定义多个这样的“计算列”)
如果我想计算缺陷率(这将是Defective Units/Total Units
)并且我想通过前三列中的任何一列进行汇总,我无法进行。
我尝试通过引用(:=
)进行分配,但这似乎仍然不起作用并总结了缺陷率(即sum(Defective_Units/Total_Units)
),而不是sum(Defective_Units)/sum(Total_Units)
:
myData[, Defect.Rate := Defective_Units / Total_Units]
这最终导致我的缺陷率大于1.我可以在任何地方声明一个计算字段,这只是一个在聚合后评估的公式吗?