我正在学习 R 中的 dplyr 包,我真的很喜欢它。但现在我正在处理数据中的 NA 值。
我想用相应小时的平均值替换任何 NA,例如用这个非常简单的例子:
#create an example
day = c(1, 1, 2, 2, 3, 3)
hour = c(8, 16, 8, 16, 8, 16)
profit = c(100, 200, 50, 60, NA, NA)
shop.data = data.frame(day, hour, profit)
#calculate the average for each hour
library(dplyr)
mean.profit <- shop.data %>%
group_by(hour) %>%
summarize(mean=mean(profit, na.rm=TRUE))
> mean.profit
Source: local data frame [2 x 2]
hour mean
1 8 75
2 16 130
我可以使用 dplyr 转换命令将利润中第 3 天的 NA 替换为 75(8:00)和 130(16:00)吗?