- 此问题在此处已有答案**:
How to complete missing factor levels in data frame?(1个答案)
11小时前关门了。
我有这个数据集
dat = structure(list(mdm = 7:8, price = c(100L, 200L), count = c(200L, 300L)),
class = "data.frame", row.names = c(NA, -2L))
我需要通过为每个mdm
组添加一个包含百分比的列来转换此数据。
50, 60, 70, 80, 85, 90, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 110, 115, 120, 130, 140, 150
其中与值100
相反,对于来自dat
数据集的mdm
的每个组,应当存在price
和count
值。
预期输出:
perc price count
50 NA NA
60 NA NA
70 NA NA
80 NA NA
85 NA NA
90 NA NA
95 NA NA
96 NA NA
97 NA NA
98 NA NA
99 NA NA
**100 100 200**
101 NA NA
102 NA NA
103 NA NA
104 NA NA
105 NA NA
110 NA NA
115 NA NA
120 NA NA
130 NA NA
140 NA NA
150 NA NA
50 NA NA
60 NA NA
70 NA NA
80 NA NA
85 NA NA
90 NA NA
95 NA NA
96 NA NA
97 NA NA
98 NA NA
99 NA NA
**100 200 300**
101 NA NA
102 NA NA
103 NA NA
104 NA NA
105 NA NA
110 NA NA
115 NA NA
120 NA NA
130 NA NA
140 NA NA
150 NA NA
价格和计数的值分别等于100和200,因此我们将它们放在100
的附近。
价格和数量的值分别等于200和300,因此我们将它们放在100
附近。
做这件事最简单的方法是什么?谢谢你的帮助。
3条答案
按热度按时间kognpnkq1#
以下是tidyverse的方法:
lhcgjxsq2#
您可以使用
tidyr
中的complete
:输出:
vybvopom3#
merge
它与expand.grid
。