Создание функции R для проверки нескольких условий для нескольких переменных

#r #function

Вопрос:

Я определил критерии для выявления выбросов в моем фрейме данных (если доверительный интервал (CI) не перекрывается с CI моей модели).

Я попытался создать функцию, которая проверяет мой фрейм данных, верно ли это в любом случае:

 is.outlier lt;- function(cilbr, ciubr, cilb.model, ciub.model) {  for (x in 1:length(cilbr)) {  if (cilbr gt; ciub.model || ciubr lt; cilb.model) {  print(TRUE)  }  else {  print(FALSE)  }  } }  

cilbr = нижняя граница CI данных, ciubr = верхняя граница CI данных

Когда я теперь применяю его к своему фрейму данных, «FALSE» возвращается для всех строк (кроме того, некоторые строки определенно являются выбросами).:

 ma1$outlier lt;- is.outlier(ma1$cilbr, ma1$ciubr, 0.2484, 0.4195)  [1] FALSE [1] FALSE [1] FALSE [1] FALSE [1] FALSE [1] FALSE [1] FALSE ...   

По-видимому, для этого требуется только первый случай моих данных, а не все значения

Есть какие-нибудь предложения, как я могу это исправить?

Примеры данных:

 author year n r r_var cilbr ciubr  lt;chrgt; lt;dblgt; lt;dblgt; lt;dblgt; lt;dblgt; lt;dblgt; lt;dblgt; 1 Baker 2011 84 0.171 0.0114 -0.0451 0.372 2 Schmidt 2020 182 0.32 0.00445 0.183 0.445 3 Meyer 2010 250 0.096 0.00394 -0.0284 0.217 4 Miller 1990 25 0.28 0.0354 -0.129 0.608  

Комментарии:

1. Некоторые примеры данных помогут