У меня большой фрейм данных с 6 столбцами, которые я хочу сравнить и создать новый в зависимости от условий.Я изо всех сил пытаюсь использовать mutate и ifelse, так как у меня также есть NA в некоторых местах.Небольшая выборка моих данных выглядит следующим образом:
dput(test)
structure(list(value = c(1, 0, 0, 0), value_lag_1 = c(0, 1, 0,
0), value_lag_2 = c(NA, 0L, 0L, 0L), value_lead_1 = c(0L, 0L,
0L, NA), value_lead_2 = c(0L, 0L, 0L, 0L), ref = c(1, 1, 0, 1
)), .Names = c("value", "value_lag_1", "value_lag_2", "value_lead_1",
"value_lead_2", "ref"), row.names = 2:5, class = "data.frame")
Я хочу сравнить пять первых столбцов с последними (ссылка).Если любой из первых 5 столбцов равен 1, а ref равен 1, то 1, иначе 0, поэтому мой результат (sim) будет:
value value_lag_1 value_lag_2 value_lead_1 value_lead_2 ref sim
1 0 NA 0 0 1 1
0 1 0 0 0 1 1
0 0 0 0 0 0 0
0 0 0 NA 0 1 0
Я пробовал следующее, но безуспешно:
myvar <- names(test)[1:5]
test%>%
mutate(sim=ifelse( any(myvar!=0,na.rm=T) & ref==1,1,0))
Есть идеи применить условия?Любые другие предложения приветствуются.
Большое спасибо