У меня есть кадр данных, который содержит (среди прочего) числовой столбец с концентрацией и столбец фактора с флагом состояния. Этот флаг состояния содержит NA.
Вот пример
df<-structure(list(conc = c(101.769, 1.734, 62.944, 92.697, 25.091, 27.377, 24.343, 55.084, 0.335, 23.280), status = structure(c(NA, NA, NA, NA, NA, NA, 2L, NA, 1L, NA), .Label = c("<LLOQ", "NR"), class = "factor")), .Names = c("conc", "status"), row.names = c(NA, -10L), class = "data.frame")
Я хочу заменить столбец концентрации строкой для некоторых значений столбца флага или значением концентрации, отформатированным до определенного количества значащих цифр.
Когда я попробую это
ifelse(df$status=="NR","NR",df$conc)
NA во флаге состояния не вызывает ни истинное, ни ложное условие (и возвращает NA) - как предполагает документация, это произойдет. Я мог бы перебрать строки и использовать IF, а затем еще для каждой из них, но это кажется неэффективным.
Я что-то упускаю ? Я также пробовал as.character(df$status), который не работает. Мое настроение, должно быть, становится низким ....