Я знаю, что есть много вопросов относительно функции ifelse
, но я не могу понять, как заставить мой код работать.Я был вдохновлен решениями, опубликованными в предыдущих вопросах, но у меня все еще есть сообщения об ошибках.Ниже приведен пример моих данных:
observed predicted probability results1
1 Head-up Grazing 0.2727273 NEGATIVE
2 Head-up Grazing 0.7272727 NEGATIVE
3 Head-up Grazing 0.7272727 NEGATIVE
4 Head-up Grazing 0.5454545 NEGATIVE
5 Head-up Grazing 0.7272727 NEGATIVE
6 Head-up Grazing 0.4545455 NEGATIVE
7 Head-up Vigilance 0.3636364 NEGATIVE
8 Head-up Grazing 0.3636364 NEGATIVE
9 Head-up Vigilance 0.3636364 NEGATIVE
10 Unknown Grazing 0.3636364 NEGATIVE
11 Moving Head-up 0.4545455 NEGATIVE
12 Moving Grazing 0.3636364 NEGATIVE
13 Head-up Grazing 0.4545455 NEGATIVE
14 Head-up Grazing 0.3636364 NEGATIVE
15 Head-up Grazing 0.4545455 NEGATIVE
16 Head-up Grazing 0.3636364 NEGATIVE
17 Head-up Head-up 0.4545455 POSITIVE
В этом случае я хотел бы создать 5-й столбец results2
с ifelse
, имеющим два условия:
1) Еслиprobability
больше 0,5, а results1
равно "POSITIVE"
, я бы хотел, чтобы results2
было "TRUE"
.Если probability
ниже 0,5 и results1
равно "POSITIVE"
, я бы хотел, чтобы results2
было "FALSE"
.
2) Если probability
больше 0,5 и results1
равно"NEGATIVE"
, я бы хотел, чтобы results2
было "FALSE"
.Если probability
меньше 0,5 и results1
равно "NEGATIVE"
, я бы хотел, чтобы results2
было "TRUE"
.
Я использовал для этого различные синтаксисы, такие как:
collar$result2<-ifelse(collar$results1=="POSITIVE" & collar$probability>0.5,"TRUE","FALSE"|ifelse(collar$results1=="NEGATIVE" & collar$probability>0.5,"FALSE","TRUE"))
Я получаю сообщение об ошибке: Error in ifelse(collar$results1 == "POSITIVE", collar$probability > 0.5, :
unused argument ("FALSE")
Любая помощь приветствуется!
PS При использовании ошейника: $results2<-dplyr::mutate(collar,results2 = case_when( (probability > 0.5 & results1 == "POSITIVE") | (probability < 0.5 & results1 == "NEGATIVE") ~ TRUE, TRUE ~ FALSE) )
Я получаю (образец):
> print(collar)
observed predicted probability results1 results2.observed results2.predicted results2.probability results2.results1
1 Head-up Vigilance 0.2727273 NEGATIVE Head-up Vigilance 0.2727273 NEGATIVE
2 Head-up Grazing 0.7272727 NEGATIVE Head-up Grazing 0.7272727 NEGATIVE
3 Head-up Grazing 0.7272727 NEGATIVE Head-up Grazing 0.7272727 NEGATIVE
4 Head-up Grazing 0.5454545 NEGATIVE Head-up Grazing 0.5454545 NEGATIVE
5 Head-up Grazing 0.7272727 NEGATIVE Head-up Grazing 0.7272727 NEGATIVE
6 Head-up Grazing 0.4545455 NEGATIVE Head-up Grazing 0.4545455 NEGATIVE