我有一个与此相似的在场/不在场数据框:
Cu Zn Mn
1 0 1
0 0 1
1 0 1
0 1 1
我想将其转换为逻辑(TRUE / FALSE)数据框。反正有这样做吗?我使用了as.logical命令,但是数据框丢失了其结构。另外,我尝试了替换,但是它似乎不适用于数据框。有什么东西可以将整个数据框转换为逻辑值?谢谢!
答案 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)