Я пишу функцию, чей ввод - это вектор, а вывод - символьный вектор трех уровней: ниже среднего, среднего и выше среднего.Я хотел бы, чтобы вектор символов был рассчитан на основе 1-го и 3-го квантилей данного вектора.Когда я вызываю свою функцию, только Below Avg возвращает, что я понимаю, почему она возвращается, но не знаю, как исправить.В идеале я хотел бы, чтобы новый вектор был таким, чтобы Below Avg соответствовал значениям ниже 1-го квантиля, Above Avg соответствовал значениям выше 3-го квантиля, а Avg - это все, что между ними.
x<-c(1:10)
label_scale<-function(vecrr){
lq<-quantile(vecrr,0.25)
uq<-quantile(vecrr,0.75)
if(vecrr<=lq){
k<-'Below Avg.'
} else if(vecrr>=uq){
k<-'Above Avg.'
} else{
k<-'Avg.'}
return(k)
}
y<-mapply(label_scale,x)
z<-sapply(x,label_scale)