df <- data.frame('Name' = LETTERS[1:6], 'Price'= c(100,123,112,114,101,102))
transform <- function(value, conditionals){
for(cond in conditionals){
if(abs(value - cond) < 4){
return(cond)
}
}
return(value)
}
sapply(df$Price, transform, c(104,122))
Это должно работать. Вероятно, это можно сделать в одной строке с apply (но мне иногда трудно читать, так что это должно быть проще для чтения).