考虑一个简化的数据集(真实的数据集有更多的列和行):
df
tp tf weight
1 FWD RF 78.86166
2 MF LF 81.04566
3 DEF LF 80.70527
4 DEF LF 82.96071
5 DEF RF 78.42544
6 GK LF 79.37686
7 DEF RF 78.79928
8 MF RF NA
9 MF RF 78.93815
10 DEF RF 80.00284
我想按分组填充重量中的缺失值mediantp 和 tf 的组合
到目前为止我已经尝试过以下内容(我使用过 dplyr)
temp <- df %>% group_by(tp,tf) %>% summarise(mvalue = median(weight,na. rm = TRUE))
这使得温度为:
temp
Source: local data frame [6 x 3]
Groups: tp [?]
tp tf mvalue
<fctr> <fctr> <dbl>
1 DEF LF 81.83299
2 DEF RF 78.79928
3 FWD RF 78.86166
4 GK LF 79.37686
5 MF LF 81.04566
6 MF RF 78.93815
现在我无法弄清楚如何用相应的组中位数填充 df 中的缺失值。
在我的简单情况下,只有一个 NA 对应于 tp = MF 和 tf = RF,
如果你查看 temp 的中值是 78.93815
一般情况下我该怎么做?如果您有比我最初的方法更好的方法,请提出建议。
EDIT:实际的数据帧有一个唯一的 Id 变量(如果这有任何区别或有帮助的话)。