在rpivotTable中添加计算字段

时间:2017-11-14 12:17:13

标签: r pivot-table calculated-columns calculated-field computed-field

我想创建一个与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.我可以在任何地方声明一个计算字段,这只是一个在聚合后评估的公式吗?

0 个答案:

没有答案