R Статистика, пытающаяся проверить количество таблиц == определенное число, но код не работает, если в таблице нет строк - PullRequest
1 голос
/ 16 июня 2019

У меня есть большой оператор ifelse, который просматривает несколько таблиц, чтобы увидеть, какая таблица имеет определенное количество строк.

Однако не во всех таблицах есть строки. Когда таблица без строк выполняется через код типа nrow(table1) == 10, она возвращает logical(0) вместо FALSE. Как я могу сделать так, чтобы вместо этого ситуация возвращала FALSE?

Ниже приведен пример кода.

nrowtest <- NULL
nrow(nrowtest) == 10

Я хочу вернуть FALSE вместо logical(0)

Ответы [ 2 ]

2 голосов
/ 17 июня 2019

Там также NROW, заглавными буквами:

nrowtest <- NULL
NROW(nrowtest) == 10
#[1] FALSE

nrowtest <- table(1:10,1:10)
NROW(nrowtest) == 10
#[1] TRUE
2 голосов
/ 16 июня 2019

NA == 10 всегда будет давать NA, а NULL == 10 будет давать logical(0).Просто добавьте условия к if() или ifelse():

!is.null(nrow(nrowtest)) && nrow(nrowtest) == 10
...