如何在R中填写data.frame的缺失值?
我有多个如何在R中填写data.frame的缺失值?,r,dataframe,tidyverse,na,missing-data,R,Dataframe,Tidyverse,Na,Missing Data,我有多个列,其中缺少值。我想使用所有年份中同一天的平均值,同时为每个列填写缺失的数据。例如,DF是我的假数据,我看到两列(A&X)的缺少值 我的数据框中有许多列,我想对所有列进行概括,以填充缺少的值?我们可以使用na.aggregatefromzoo library(dplyr) library(zoo) DF %>% mutate(Year = year(Date), Month = month(Date), Day = day(Date)) %>% group
列
,其中缺少值
。我想使用所有年份中同一天的平均值
,同时为每个列填写缺失的数据。例如,DF
是我的假数据,我看到两列(A&X)的缺少值
我的数据框中有许多列
,我想对所有列
进行概括,以填充缺少的值?我们可以使用na.aggregate
fromzoo
library(dplyr)
library(zoo)
DF %>%
mutate(Year = year(Date), Month = month(Date), Day = day(Date)) %>%
group_by(Year, Day) %>%
mutate(across(A:X, na.aggregate))
或者如果我们更喜欢使用条件语句
DF %>%
mutate(Year = year(Date), Month = month(Date), Day = day(Date)) %>%
group_by(Year, Day) %>%
mutate(across(A:X, ~ case_when(is.na(.)
~ mean(., na.rm = TRUE), TRUE ~ as.numeric(.))))
library(dplyr)
library(zoo)
DF %>%
mutate(Year = year(Date), Month = month(Date), Day = day(Date)) %>%
group_by(Year, Day) %>%
mutate(across(A:X, na.aggregate))
DF %>%
mutate(Year = year(Date), Month = month(Date), Day = day(Date)) %>%
group_by(Year, Day) %>%
mutate(across(A:X, ~ case_when(is.na(.)
~ mean(., na.rm = TRUE), TRUE ~ as.numeric(.))))