在R中将数字转换为逻辑数据框

时间:2019-01-22 17:45:35

标签: r dataframe

我有一个与此相似的在场/不在场数据框:

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

我想将其转换为逻辑(TRUE / FALSE)数据框。反正有这样做吗?我使用了as.logical命令,但是数据框丢失了其结构。另外,我尝试了替换,但是它似乎不适用于数据框。有什么东西可以将整个数据框转换为逻辑值?谢谢!

3 个答案:

答案 0 :(得分:1)

一种选择是遍历各列,将其转换为logical并将输出分配回该对象

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

另一个选择是创建逻辑矩阵

df1[] <- df1 >  0

答案 1 :(得分:0)

tidyverse解决方案是:

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

mutate_all遍历所有列,然后将其功能.f参数as.logical应用于每一列

答案 2 :(得分:0)

我是 R 的初学者,但我是这样做的,而且很有效

df = !(!df)