我试图总结一个数据框架的人口统计信息,但遇到了一些问题。按性别细分,有4种可能的选项供参与者选择:1、2、3、4,空白(无响应)被R视为NA值。我得到了每种性别的正确计数,但当试图获得每种性别的平均值时,我遇到了问题。
我想保留NA值的观察结果,因为虽然它们可能没有回答人口统计学信息,但它们回答了其他问题,因此我不想简单地从 Dataframe 中删除这些行。
这是我尝试过的
#df$q10: what is your gender
by_gender = df %>%
group_by(df$Q10) %>%
dplyr::summarize(count = n(),
AvgAge = mean(df$Q11_1_TEXT, na.rm = TRUE))
by_gender
这会为所有性别返回与
mean(df$Q11_1_TEXT, na.rm = TRUE)
性别和年龄列都有NA值,我怀疑这可能是问题所在?我尝试添加na.rm = T,但似乎不起作用。我还可以尝试什么?
编辑:删除$
使函数按预期工作。
1条答案
按热度按时间lo8azlld1#
当您请求
mean(df$Q11_1_TEXT)
时,它将根据原始未分组向量计算平均值,而如果您使用mean(Q11_1_TEXT)
,它将在从上一步接收的分组 Dataframe 中查找Q11_1_TEXT。比较: