使用中值函数在R中创建一个新变量

时间:2017-11-13 15:20:12

标签: r dplyr median

我想使用中值函数来创建一个新变量。如果样本中的观察(已被调查的人)的教育水平高于样本的中位数,那么他将被视为具有" high_educ&#34 ;.如果他的教育水平低于中位数,那么他将被视为" low_educ"。

在我的样本中有1247个观察结果(n)所以我最终会得到像623 low_educ和624 high_educ这样的东西。

在下面的代码中,我没有包含中值函数,因为我不知道如何包含它。相反,我手动包括一个阈值(这里:13.5)但当然这样做我的样本人口不等于2应该是如果我使用中位数函数。 对于您的信息," educ"值是整数,我的查询似乎只有在ifelse函数中在(educ)之前添加as.numeric时才有效。

educ12<-gss%>%  
  filter(year==2012, !is.na(educ), !is.na(abany))%>%  
  mutate(education = ifelse(as.numeric(educ)>=13.5, "high_educ", "low_educ"))

你能帮我理解如何在我的代码中使用中值函数吗?

非常感谢

迈克尔

0 个答案:

没有答案