Мне нужно создать специальные правила для некоторых данных, которые у меня есть (если значение <= 0,1, то пропустить его, это ошибка), но я хочу сделать это только для определенных категорий. </p>
Мои данныевыглядит так
Category value
A 0.9
A 0.001
A 0.3
B 0.01
B 0.8
C 0.01
C 0.01
C 0.2
C NA
Я хочу это
Category value
A 0.9
A 0.001
A 0.3
B NA
B 0.8
C NA
C NA
C 0.2
C NA
Мой код выглядит так:
want<- Mydata %>%
mutate(value2= if_else(!is.na(value) &
value<=0.1 &
Category=='B' ||
!is.na(value) &
value<=0.1 &
Category=='C',
as.numeric(NA), value ) )
Но я получаю это сообщение об ошибке:
Error: `true` must be length 1 (length of `condition`), not 1245
Насколько я понимаю, ||является логическим и & является индивидуумом, поэтому, по сути, я хочу сказать
ЕСЛИ (НЕ NA И <= 15 И в категории B) ИЛИ (НЕ NA И <= 15 И в категории C), то сделать значениеNA еще использует исходное значение. </p>
Я не понимаю, почему я получаю эту ошибку, я неправильно понимаю |против ||и & vs &&?