Я пытаюсь написать универсальную циклическую функцию, которая заменяет одно или более нежелательные значения (например, "#N/A"
& 'p'
) в data.frame
с одним или более желаемыми значениями (например, NA
) в BASE R.
Я пробовал следующее безуспешно, есть ли эффективное исправление?
input <- data.frame(id = c(1,3,"#N/A"), school = LETTERS[1:3], read_2018 =c("#N/A",'p',49))
replace = c("#N/A", 'p') # can be one or more elements
with = NA # if shorter in length than `replace`, recycle the last element
# My solution without scucess:
lapply(seq_along(replace), function(i){input[input == replace[i]] <- with[i]; input})