【发布时间】:2022-11-04 19:06:49
【问题描述】:
我想用同一日期过去几年的平均值替换缺失值。
我认为为此值得使用 R 的 tidyverse 中的 dplyr 包按月和日对数据进行分组。如何对数据子集进行均值插补?
DATA <- read.csv('DateCaratNO2.csv')
DATA <- as.data.frame(DATA)
DATA$Full.Data <- as.POSIXct(DATA$date, format = "%m/%d/%Y")
DATA$day <- format(DATA$Full.Data, "%d")
DATA$month <- format(DATA$Full.Data, "%m")
DATA$year <- format(DATA$Full.Data, "%Y")
attach(DATA)
library(dplyr)
df <- DATA %>% mutate(day = lubridate::floor_date(Full.Data, "day"),
month = lubridate::floor_date(Full.Data, "month")) %>%
dplyr::group_by(day, month, ID) %>%
mutate(NO2 = replace_na(NO2, mean(NO2, na.rm=TRUE)))
我需要用特定站点的同一天和同一月的平均值替换缺失值。任何帮助表示赞赏!
【问题讨论】:
-
这段代码有什么问题?您是否收到错误作为输出?哪一个?
-
当我执行“write.csv”时,缺失值得到 NA 值。即平均值的替换不通过。
-
您能否分享一个数据集来重现您的问题以及您使用
write.csv()的部分代码?
标签: r missing-data