使用 R 计算 data.frame 中存在的 NA 值的平均值
Calculating mean with NA value present in a data.frame using R
我有一个 data.frame 并且想要对存在 NA 的列进行平均。
在执行计算时,我注意到 R 无法计算平均值,结果返回 NA。
OBS:我无法删除带有 NA 的行,因为它会删除其他包含我感兴趣的值的列。
df1<-read.table(text="st date ph
1 01/02/2004 5
16 01/02/2004 6
2 01/02/2004 8
2 01/02/2004 8
2 01/02/2004 8
16 01/02/2004 6
1 01/02/2004 NA
1 01/02/2004 5
16 01/02/2004 NA
", sep="", header=TRUE)
df2<-df1%>%
group_by(st, date)%>%
summarise(ph=mean(ph))
View(df2)
出来
我的期望是这个结果:
您需要使用na.rm = TRUE
:
df2<-df1%>%
group_by(st, date)%>%
summarise(ph=mean(ph, na.rm = TRUE))
df2
# A tibble: 3 x 3
# Groups: st [3]
st date ph
<int> <chr> <dbl>
1 1 01/02/2004 5
2 2 01/02/2004 8
3 16 01/02/2004 6
我有一个 data.frame 并且想要对存在 NA 的列进行平均。
在执行计算时,我注意到 R 无法计算平均值,结果返回 NA。
OBS:我无法删除带有 NA 的行,因为它会删除其他包含我感兴趣的值的列。
df1<-read.table(text="st date ph
1 01/02/2004 5
16 01/02/2004 6
2 01/02/2004 8
2 01/02/2004 8
2 01/02/2004 8
16 01/02/2004 6
1 01/02/2004 NA
1 01/02/2004 5
16 01/02/2004 NA
", sep="", header=TRUE)
df2<-df1%>%
group_by(st, date)%>%
summarise(ph=mean(ph))
View(df2)
出来
我的期望是这个结果:
您需要使用na.rm = TRUE
:
df2<-df1%>%
group_by(st, date)%>%
summarise(ph=mean(ph, na.rm = TRUE))
df2
# A tibble: 3 x 3
# Groups: st [3]
st date ph
<int> <chr> <dbl>
1 1 01/02/2004 5
2 2 01/02/2004 8
3 16 01/02/2004 6