Если вы посчитаете sum
логических значений, вы получите подсчет количества TRUE
значений. Поскольку в этом случае, если вы хотите посчитать количество FALSE
значений, мы можем отменить значения и затем использовать sum
.
sum(!df$boolean)
#[1] 2
Однако, я думаю, вы хотите это в while
l oop. Вы можете перебирать каждое значение в столбце boolean
, проверять, равно ли оно FALSE
, и увеличивать счетчик.
i <- 1
FM <- 0
while(i <= nrow(df)) {
if(!df$boolean[i])
FM <- FM + 1
i <- i + 1
}
FM
#[1] 2
Мы также можем сделать это без if
условия
while(i <= nrow(df)) {
FM <- FM + !df$boolean[i]
i <- i + 1
}
данных
df <- data.frame(boolean= c(TRUE,FALSE,TRUE,TRUE,FALSE),value=c(8,16,4,12,9))