Звучит так, будто вы ищете функцию, похожую на эту:
test <- function(x){
if(is.numeric(x)){
return(mean(x))
}
else{
x[!is.na(as.numeric(x))] <- NA
return(x)
}
}
x <- c("a", 1, 2)
test(x)
Обратите внимание, что достаточно if (is.numeric(x))
, вам не нужно == TRUE
в предложении if.1006 *