Я пытаюсь выполнить условия «если» и «еще, если», чтобы создать новую переменную на основе значений двух существующих переменных. Вот пример выходных данных двух существующих переменных, для которых я пишу свое условие.
Вот dput для воспроизведения двух переменных:
structure(list(C = c(NA, NA, "Standard", "Standard", NA, "Micro",
NA, NA, NA, NA, "Nursery", "Standard", NA, "Micro", "Micro",
NA, NA, NA, "Standard", "Standard"), P = c(NA, NA, "Standard",
"Standard", NA, NA, NA, NA, NA, NA, NA, "Standard", "Standard",
"Micro", NA, NA, NA, NA, NA, "Standard")), row.names = c(NA,
-20L), class = c("tbl_df", "tbl", "data.frame"))
, а вот if и else ifоператор, который я использую:
if (DF$C=="Standard" | DF$P=="Standard") {
mutate("Type" = "Standard")
} else if (DF$C=="Micro" | DF$P=="Micro") {
mutate("Type" = "Micro")
} else if (DF$C=="Nursery" | DF$P=="Nursery") {
mutate("Type" = "Nursery")
} else {
mutate("Type" = "Other")
}
Мне нужна новая переменная с именем "Тип" со значениями "Стандарт", "Микро", "Питомник" или "Другое", но я получаю эту ошибкувместо сообщения:
Error in if (Site.Details.TEST$C == "Standard" | Site.Details.TEST$P == :
missing value where TRUE/FALSE needed
In addition: Warning message:
In if (Site.Details.TEST$C == "Standard" | Site.Details.TEST$P == :
the condition has length > 1 and only the first element will be used