# [R] threshold matrix

Petr Savicky savicky at praha1.ff.cuni.cz
Fri Apr 29 17:09:58 CEST 2011

```On Fri, Apr 29, 2011 at 07:44:59AM -0700, Alaios wrote:
> Thanks a lot.
> I finally used
>
> M2 <- M
> M2[M < thresh] <- 0
> M2[M >= thresh] <- 1
>
> as I noticed that this one line
>
> M2 <- as.numeric( M[] < thresh )
> vectorizes my matrix.

Hi.

This may be avoided, for example

M2 <- M
M2[, ] <- as.numeric(M >= thresh)

or

array(as.numeric(M >= thresh), dim=dim(M))

> One more question I have two matrices that only differ slightly. What will be the easiest way to compare and find the cells that are not the same?

If A and B are matrices of the same dimension, then

A == B

is a logical matrix with TRUE entires for positions, where
A and B match exactly.

abs(A - B) <= eps

is a logical matrix with TRUE entires for positions, where
A and B differ at most by eps.

If you want to get only one logical result, then use

all(A == B)

for exact equality and

all(abs(A - B) <= eps)

for approximate equality of all entries.