R 如何计算非缺失值计数的平均值?
我想,首先,计算数据帧中特定列的非缺失值的组数,然后计算其平均值。基本上,我希望了解非缺失值(单个值)的组计数的平均值 我设法计算了非缺失值的组计数,但没有计算其平均值(单个值)。除了最后一行之外,下面的代码还行(我注释掉了它,因为它给了我错误的输出)R 如何计算非缺失值计数的平均值?,r,summarize,R,Summarize,我想,首先,计算数据帧中特定列的非缺失值的组数,然后计算其平均值。基本上,我希望了解非缺失值(单个值)的组计数的平均值 我设法计算了非缺失值的组计数,但没有计算其平均值(单个值)。除了最后一行之外,下面的代码还行(我注释掉了它,因为它给了我错误的输出) 数据% 总结(N_iv=总和(!is.na(to_ind)))%>% #总结(平均值(N_iv)) 我想你想做的就是这样。 您必须在总结之前取消分组: ( data %>% group_by(hosp, from, to) %
数据%
总结(N_iv=总和(!is.na(to_ind)))%>%
#总结(平均值(N_iv))
我想你想做的就是这样。
您必须在总结之前取消分组:
(
data
%>% group_by(hosp, from, to)
%>% mutate(
hosp_ind = na_if(hosp_ind, ""),
to_ind = na_if(to_ind, "") )
%>% summarise(
N_iv = sum(!is.na(to_ind)))
%>% ungroup
%>% summarise(mean(N_iv))
)
输出:
# A tibble: 1 x 1
`mean(N_iv)`
<dbl>
1 0.857
另一种方法是
pull
列N_iv
计算其平均值:
(
data
%>% group_by(hosp, from, to)
%>% mutate(
hosp_ind = na_if(hosp_ind, ""),
to_ind = na_if(to_ind, "") )
%>% summarise(
N_iv = sum(!is.na(to_ind)))
%>% pull(N_iv)
%>% mean
)
我想你需要
N_iv=mean(!is.na(to_ind))
我想对你的问题投赞成票,但你需要(1)创建一个不超过12行的更简单的数据帧-使用tibble::tribble
创建它,以可读表的形式呈现,(2)并添加预期的输出。你的意思是tibble::tibble
?我可以更改数据以使其更简单,但是输出将与下面答案中显示的不同。谢谢@pietrodito。关于NA转换,你是绝对正确的,很抱歉我没有注意到它!我在这里的问题是,一旦我用summary计算了列N_iv
的平均值,如何得到它。我希望得到的输出是0.857。我想我现在得到了你想要的是的,你做到了,非常感谢!
%>% mutate(
hosp_ind = na_if(hosp_ind, ""),
to_ind = na_if(to_ind, "") )
(
data
%>% group_by(hosp, from, to)
%>% mutate(
hosp_ind = na_if(hosp_ind, ""),
to_ind = na_if(to_ind, "") )
%>% summarise(
N_iv = sum(!is.na(to_ind)))
%>% pull(N_iv)
%>% mean
)