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

Kat*_*ate 4 r dataframe

我有一个与此类似的存在/不存在数据框:

Cu Zn Mn
1  0  1 
0  0  1
1  0  1
0  1  1
Run Code Online (Sandbox Code Playgroud)

我想将其转换为逻辑(真/假)数据帧。有办法做到这一点吗?我使用了 as.logic 命令,但数据帧丢失了其结构。此外,我尝试过替换,但它似乎不适用于数据框。有什么办法可以将整个数据帧转换为逻辑值吗?谢谢!

akr*_*run 6

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

df1[] <- lapply(df1, as.logical)
Run Code Online (Sandbox Code Playgroud)

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

df1[] <- df1 >  0
Run Code Online (Sandbox Code Playgroud)