R: Переменная со значением NA, оцениваемым в TRUE с помощью is.numeric()

Я читаю фрейм данных с некоторыми столбцами, имеющими значения "NA". Во время вычисления я обнаружил, что

>p1 <- met.df[20,"D3_p-value"]#some arbitray 20th ROW of Dataframe
> p1
[1] NA
> is.numeric(p1)
[1] TRUE
> x <- NA
> x
[1] NA
> is.numeric(x)
[1] FALSE
> str(p1)
 num NA
> str(x)
 logi NA

Как преобразовать "p1" в логическое "NA"?

Спасибо

1 ответ

Решение

Использование as.logical:

x <- NA_real_
is.logical(x)
## [1] FALSE
is.numeric(x)
## [1] TRUE
xL <- as.logical(x)
is.logical(xL)
## [1] TRUE
is.numeric(xL)
## [1] FALSE
Другие вопросы по тегам