У меня есть набор данных с двумя столбцами - городским_руральским и религиозным. Я хочу создать новый столбец на основе двух конкретных взаимодействий между этими двумя столбцами. То есть городские_не_религиозные и сельские_религиозные.
После некоторого исследования на этом веб-сайте мне удалось создать новый столбец на основе комбинации двух столбцов с утверждением ifelse, но только для тех респондентов, которые удовлетворяют обоим условиям. Для всех остальных я попытался написать еще один оператор ifelse, но тогда он вернул только NA. Я мог бы дать всем респондентам с НО значение «Нет», но я хочу, чтобы НК были отделены от тех, которые имеют допустимые значения, но не удовлетворяют условиям. Таким образом, те, кто живет в городах и нерелигиозен, ответили «Да», все остальные респонденты - «Нет» и НП.
Вот образец моего набора данных и кода, который я использовал:
structure(list(urban_rural = structure(c(1L, 1L, 2L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L,
1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Urban",
"Rural", "Refugee camp"), class = "factor"), religious = structure(c(2L,
1L, 2L, 2L, 3L, 2L, 2L, 3L, 1L, 3L, 3L, 1L, 3L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 2L, 3L, 2L, 2L, 2L,
3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 2L, 1L, 2L, 2L, 2L, 2L,
1L), .Label = c("Religious", "Somewhat religious", "Not religious"
), class = "factor")), row.names = c(NA, 50L), class = "data.frame")
dataset$urban_not_reg <- ""
dataset <- dataset %>%
mutate(urban_not_reg=ifelse((urban_rural=="Urban")&(religious=="Not religious"),"Yes",NA)) %>%
mutate(urban_not_reg=ifelse((urban_rural=="Rural")&(urban_rural=="Refugee camp")&(religious=="Religious")&(religious=="Somewhat religious"),"No",NA))