Преобразовать числовой в логический кадр данных в R - PullRequest
0 голосов
/ 22 января 2019

У меня есть фрейм данных присутствия / отсутствия, похожий на этот:

Cu Zn Mn
1  0  1 
0  0  1
1  0  1
0  1  1

Я хочу преобразовать его в логический (TRUE / FALSE) фрейм данных.Есть какой-либо способ сделать это?Я использовал команду as.logical, но датафрейм теряет свою структуру.Кроме того, я попытался заменить, но, похоже, он не работает с кадром данных.Будет ли что-нибудь преобразовывать весь массив данных в логические значения?Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Тидиверс решением будет:

library(tidyverse)
df %>% mutate_all(as.logical)

mutate_all обходит все столбцы и затем применяет свой аргумент функции .f, as.logical, к каждому столбцу

0 голосов
/ 22 января 2019

Один из вариантов - циклически проходить по столбцам, преобразовывать его в logical и назначать выход обратно объекту

df1[] <- lapply(df1, as.logical)

Другой вариант - создание логической матрицы

df1[] <- df1 >  0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...