我有一个关于R中赋值的问题。特别是,我有两个变量:一个名为“你吸烟吗”的分类变量,其中调查询问一个人目前是否吸烟(代码1),过去是否吸烟(代码2)或不吸烟(代码3)。第二个变量是“每天吸烟的数量”。问题是,这个数据被认为是“不可用”的人回答说,他们不吸烟目前,即使我认为它应该是0.
我想应用一个代码来说明,当变量“当前吸烟”等于2或3时,那么对于特定的观察,sigarettes的数量必须为0。你知道我该怎么做吗提前感谢您
rta7y2nd1#
下面是一个包含一些玩具数据的示例:
smokers_df <- data.frame(currently_smoking = c(1, 3, 2, 1, 1, 3, 3, 2, 1, 1), number_of_cigs = c(10, NA, 5, 25, 12, NA, 0, 10, 1, 17)) smokers_df
currently_smoking number_of_cigs 1 1 10 2 3 NA 3 2 5 4 1 25 5 1 12 6 3 NA 7 3 0 8 2 10 9 1 1 10 1 17
idx <- which(smokers_df$currently_smoking %in% 2:3) smokers_df[ idx, 'number_of_cigs' ] <- 0 smokers_df
currently_smoking number_of_cigs 1 1 10 2 3 0 3 2 0 4 1 25 5 1 12 6 3 0 7 3 0 8 2 0 9 1 1 10 1 17
1条答案
按热度按时间rta7y2nd1#
下面是一个包含一些玩具数据的示例: