Я пытаюсь векторизовать свой код, чтобы сделать его более воспроизводимым!
Я хотел бы напечатать предупреждающее сообщение в моем отчете R Markdown, когда один из этих столбцов меньше 5! Вот мой первый код перед векторизацией:
JO_ratio_JOUR <- JO_ratio_tranches[dir == "ALLER" & (.1_JO[4h_7h[_txcouv < 5 | .2_JO[7h_9h[_txcouv < 5 | .3_JO[9h_12h[_txcouv < 5 | .4_JO[12h_15h30[_txcouv < 5 | .5_JO[15h30_18h[_txcouv < 5 | 6_JO[18h_20h[_txcouv < 5 | .7_JO[20h_22h[_txcouv < 5 | .8_JO[22h_4h[_txcouv < 5), grep("txcouv", names(JO_ratio_tranches))]
if(!is_empty(JO_ratio_JOUR)){print(" WARNING: Ratio < 5% !")}
[1] "WARNING: Ratio(s) < 5% !"
OK!
Но когда я пытаюсь векторизовать этот код с помощью цикла for, R печатает предупреждение каждый раз, когда находит значение меньшечем 5% в таблице! : (
JO_ratio_JOUR <- JO_ratio_tranches[dir == "ALLER", ]
for(i in grep("txcouv", names(JO_ratio_JOUR))){
if(JO_ratio_JOUR[[i]] < 5){print(" WARNING: Ratio < 5% !")}
[1] "WARNING: Ratio(s) < 5% !"
[1] "WARNING: Ratio(s) < 5% !"
[1] "WARNING: Ratio(s) < 5% !"
[1] "WARNING: Ratio(s) < 5% !"
KO !!!!
Как мне просто напечатать ОДНО предупреждающее сообщение, если какой-либо из этих столбцов меньше 5?
Большое спасибоза вашу помощь!