R语言数据集条件替换:将符合特定条件的缺失值重编码为2
问题背景
在该数据集中,1代表肯定(是)响应,2代表否定(否)响应,数据集由更大的数据集截断而来。
数据集定义代码:
data <- structure(list(col1 = c(1, 2, 2, 1, 1, 2, NA), col2 = c(2, 2, 2, 1, 1, 2, 1), col3 = c(1, 1, 2, 1, 1, 2, 1), col4 = c(2, 2, 2, NA, 1, 2, NA), col5 = c(2, 2, 2, 1, 1, 1, 1), col6 = c(2, 1, 2, NA, 1, 1, 2), col7 = c(2, 2, 2, 1, 2, 2, 1), col8 = c(2, 2, 2, NA, 2, 2, 1), col9 = c(2, 2, 2, NA, 2, 2, NA)), row.names = c(NA, -7L), class = c("tbl_df", "tbl", "data.frame"))
使用tibble()查看数据集结果:
# A tibble: 7 x 9 col1 col2 col3 col4 col5 col6 col7 col8 col9 <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 3 2 2 2 2 2 2 2 2 2 4 1 1 1 NA 1 NA 1 NA NA 5 1 1 1 1 1 1 2 2 2 6 2 2 2 2 1 1 2 2 2 7 NA 1 1 NA 1 2 1 1 1
需求说明
需要实现:对数据集中所有满足至少有一个YES(1)响应且无NO(2)响应的观测,将其中的缺失值(NA)重编码为2。例如观测4符合条件需修改,观测7因存在2不符合条件无需修改,最终目标数据集如下:
# A tibble: 7 x 9 col1 col2 col3 col4 col5 col6 col7 col8 col9 <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 3 2 2 2 2 2 2 2 2 2 4 1 1 1 2 1 2 1 2 2 5 1 1 1 1 1 1 2 2 2 6 2 2 2 2 1 1 2 2 2 7 NA 1 1 NA 1 2 1 1 1
内容的提问来源于stack exchange,提问作者Harambe
相关产品推荐
相关产品推荐

