我正在利用R清理数据集。 我的部分数据集涉及:
record_id | organization | other_work_loc
1 12 CCC
2 12 AMG
3 12 TAO
4 1
5 2
6 7
其他工作地点是一个自由回答的列,其输入变化非常大。 只有当组织= 12时才有数据。 我想将组织和其他工作地点数据重新分类为一个列(org_cat),其中包括三个类别(1、2、3)。 大多数其他工作地点数据将被重新分类为3。
dataset<- dataset %>% mutate(org_cat = case_when (organization == 1 | organization == 2 ~ 1 ,
organization >= 3 & organization <12 ~ 2 ,
other_work_loc == CCC | other_work_loc == AMG ~ 3 ))
这个代码是有效的,但在other_work_loc中有100个自由回应。大多数将被重新归类为3。然而,22个需要分类为1或2,我想知道是否有比编写每个单独回应的重新编码更优雅的方法?