【发布时间】:2019-02-20 19:46:00
【问题描述】:
我有这个 df:
Value Quantity Percentage
1 One 18 0.409
2 Three 2 0.045
3 Five 24 0.545
4 Total 44 0.999
并且值列有六个因子水平:
> levels(df$Value)
[1] "One" "Two" "Three" "Four" "Five"
[6] "Total"
在创建上面的df 之后,我正在尝试添加在 df 中没有值的因子/因子,因为我需要绘制此表并显示哪个 Value 具有 Quantity == 0。喜欢:
Value Quantity Percentage
One 18 0.409
Two 0 0
Three 2 0.045
Four 0 0
Five 24 0.545
Total 44 0.999
但是,为了避免在此示例中专门针对 Two 和 Four 求解的解决方案,也可能发生以下情况:
- 所有因子都有
Quantity value > 0,或者可能只有两个因子值有Quantity > 0。说到这里,我试图找到一个解决方案,它检查哪个因子不在 df 中(因为它有Quantity == 0,如果因子有Quantity == 0,请按照上面所需的输出添加到 df。
【问题讨论】:
-
函数
tidyr::complete()是一个好的开始,即complete(df,Value),然后将NA 替换为0,或者您可以使用fill中的fill参数指定填充值complete。
标签: r dplyr data-manipulation