- Related Questions & Answers
- How to convert a matrix to binary matrix in R?
- How to convert a matrix into a color matrix in R?
- How to convert a sparse matrix into a matrix in R?
- How to convert a list to matrix in R?
- How to convert a matrix into a matrix with single column in R?
- How to convert a vector into matrix in R?
- Minimum Number of Flips to Convert Binary Matrix to Zero Matrix in C++
- How to convert data.table object into a matrix in R?
- How to convert matrix rows into a list in R?
- How to convert a matrix column into list in R?
- How to convert an array into a matrix in R?
- Program to count number of operations to convert binary matrix to zero matrix in C++
- How to convert negative values in a matrix to 0 in R?
- How to convert matrix columns to a list of vectors in R?
- How to check if a matrix in R is in binary form?

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

A binary matrix contains values such as Yes or NO, 1 or 0, or any other two values that represents opposite mostly and the globally accepted logical values are FALSE and TRUE. Therefore, to convert a binary matrix to logical matrix, we can use ifelse function and convert the one category of binary variable to appropriate logical value and for the rest returns the left-out value. This is a very easy task in R, check out the below examples to understand how it can be done.

> M1<-matrix(sample(c("No","Yes"),40,replace=TRUE),nrow=20) > M1

[,1] [,2] [1,] "No" "Yes" [2,] "No" "No" [3,] "No" "Yes" [4,] "Yes" "Yes" [5,] "Yes" "Yes" [6,] "No" "No" [7,] "Yes" "No" [8,] "Yes" "Yes" [9,] "No" "No" [10,] "No" "Yes" [11,] "No" "No" [12,] "Yes" "Yes" [13,] "No" "No" [14,] "Yes" "Yes" [15,] "No" "Yes" [16,] "No" "No" [17,] "Yes" "No" [18,] "Yes" "No" [19,] "Yes" "No" [20,] "Yes" "Yes"

Converting M1 to a logical matrix −

> M1[,]<-ifelse(M1 %in% c("No"),FALSE,TRUE) > M1

[,1] [,2] [1,] "FALSE" "TRUE" [2,] "FALSE" "FALSE" [3,] "FALSE" "TRUE" [4,] "TRUE" "TRUE" [5,] "TRUE" "TRUE" [6,] "FALSE" "FALSE" [7,] "TRUE" "FALSE" [8,] "TRUE" "TRUE" [9,] "FALSE" "FALSE" [10,] "FALSE" "TRUE" [11,] "FALSE" "FALSE" [12,] "TRUE" "TRUE" [13,] "FALSE" "FALSE" [14,] "TRUE" "TRUE" [15,] "FALSE" "TRUE" [16,] "FALSE" "FALSE" [17,] "TRUE" "FALSE" [18,] "TRUE" "FALSE" [19,] "TRUE" "FALSE" [20,] "TRUE" "TRUE"

> M2<-matrix(sample(c("0","1"),40,replace=TRUE),nrow=20) > M2

[,1] [,2] [1,] "1" "1" [2,] "0" "1" [3,] "1" "0" [4,] "0" "0" [5,] "1" "0" [6,] "1" "1" [7,] "1" "0" [8,] "0" "1" [9,] "0" "0" [10,] "0" "0" [11,] "0" "1" [12,] "0" "0" [13,] "0" "1" [14,] "0" "0" [15,] "1" "1" [16,] "0" "1" [17,] "0" "1" [18,] "1" "0" [19,] "1" "0" [20,] "1" "0"

Converting M2 to a logical matrix −

> M2[,]<-ifelse(M2 %in% c("0"),FALSE,TRUE) > M2

[,1] [,2] [1,] "TRUE" "TRUE" [2,] "FALSE" "TRUE" [3,] "TRUE" "FALSE" [4,] "FALSE" "FALSE" [5,] "TRUE" "FALSE" [6,] "TRUE" "TRUE" [7,] "TRUE" "FALSE" [8,] "FALSE" "TRUE" [9,] "FALSE" "FALSE" [10,] "FALSE" "FALSE" [11,] "FALSE" "TRUE" [12,] "FALSE" "FALSE" [13,] "FALSE" "TRUE" [14,] "FALSE" "FALSE" [15,] "TRUE" "TRUE" [16,] "FALSE" "TRUE" [17,] "FALSE" "TRUE" [18,] "TRUE" "FALSE" [19,] "TRUE" "FALSE" [20,] "TRUE" "FALSE"

Advertisements