在R上创建一个新变量

时间:2018-05-05 12:12:33

标签: r variables

我想根据家庭收入制作一个新变量

我想要改变的变量如下:

1- 5000英镑以下 2-5000英镑-14,999英镑 3-£15000-£19999 4-£20000或更多

我希望将其转化为

低于全国平均水平 - 低于此水平,包括19,999英镑 高于全国平均水平 - £20000或以上

我尝试使用代码等,但它似乎无法正常工作。

有人可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的数据是因子变量,那么您需要比较因子值,而不是数值。例如:

id <- 1:10
income <- c("under £5000","under £5000",
            "£5000-£14,999","£5000-£14,999","£5000-£14,999",
            "£15000-£19999","£15000-£19999","£20000 or more",
            "£20000 or more","£20000 or more")

incomeData <- data.frame(id,income)
incomeData$aboveAverage <- ifelse(incomeData$income == "£20000 or more","Yes","No")
incomeData

...和输出:

> incomeData
   id         income aboveAverage
1   1    under £5000           No
2   2    under £5000           No
3   3  £5000-£14,999           No
4   4  £5000-£14,999           No
5   5  £5000-£14,999           No
6   6  £15000-£19999           No
7   7  £15000-£19999           No
8   8 £20000 or more          Yes
9   9 £20000 or more          Yes
10 10 £20000 or more          Yes
>