我正在尝试将两个变量的特定值合并/合并为新变量。
要结合的两个变量:
AL.INCOME
->(一分为二,而1表示某人处于收入十分位数的第1至第4位(=贫困),而2则表明某人处于收入十分位数的第7或10位(=富裕),其他收入为十进制= NA)
AL.SKILL
->(二分法,而1表示一个人是低技能,2表示一个人是高技能,否则= NA)
在这些中,我想结合另一个二分变量,其中1表示所有贫穷的人,同时技能水平较低,2表示所有富有的人,同时技能水平较高,而其他所有表示不能同时满足这两个条件的分类为NA。 此新变量的名称应为AL.INCOME.SKILL。
两个变量都指向相同的主题(693个观测值,这是ESS6 2012中的子样本“阿尔巴尼亚”)。
如果这是我在这里提出的一个非常基本的问题,并且对于某些表达式我没有使用正确的术语,请您提前感到抱歉。我对R和编程一般还是很陌生。
我已经尝试将变量与recode结合(通过库车)并通过构建数据框(仅由两个变量AL.INCOME和AL.SKILL组成)
## This is how I created AL.INCOME (dichotomous):
AlbanienVar$AL.INCOME <- recode(AlbanienVar$hinctntaAL, "1:4=1;7:10=2;else=NA")
## This is how I created AL.SKILL (dichotomous):
AlbanienVar$AL.SKILL <- recode(AlbanienVar$isco08AL, "7000:9629=1;1000:2659=2;else=NA")
##The data frame I already computed:
Trial1 <- as.data.frame(AL.INCOME, AL.SKILL)
请注意:AL.SKILL
包含NA,而AL.INCOME
没有。我希望这不是障碍。
答案 0 :(得分:0)
这看起来像解决您的问题的方法吗?
library(tidyverse)
df <- tibble(AL.INCOME = c(1, 2, 2), AL.SKILL = c(1, 2, NA))
df %>%
rowwise() %>%
mutate(new_cat = ifelse(sum(AL.INCOME, AL.SKILL) %in% c(2, 4), AL.INCOME, NA))
#> Source: local data frame [3 x 3]
#> Groups: <by row>
#>
#> # A tibble: 3 x 3
#> AL.INCOME AL.SKILL new_cat
#> <dbl> <dbl> <dbl>
#> 1 1 1 1
#> 2 2 2 2
#> 3 2 NA NA