[R] Get a copy of a matrix only for TRUE entries of a matching size boolean matrix?

DynV Montrealer dynvec @end|ng |rom gm@||@com
Fri May 3 16:39:10 CEST 2024


It's exactly what I was looking for, thanks.  I'm replying to the whole
list so others can skip this question, to not waste time on it.

Bonne fin de journée de Montréal (nous sommes le matin ici)

On Fri, May 3, 2024 at 10:30 AM Marc Girondot <marc_grt using yahoo.fr> wrote:

> Is it what you want ?
> mat_letters <- matrix(data=c('A', 'B', 'C', 'D'), ncol=2, byrow=TRUE)
> mat_bools <- matrix(data=c(FALSE, TRUE, TRUE, FALSE), ncol=2, byrow=TRUE)
>
> ifelse(mat_bools, mat_letters, "")
> ifelse(mat_bools, mat_letters, NA)
>
> > ifelse(mat_bools, mat_letters, "")
>      [,1] [,2]
> [1,] ""   "B"
> [2,] "C"  ""
> > ifelse(mat_bools, mat_letters, NA)
>      [,1] [,2]
> [1,] NA   "B"
> [2,] "C"  NA
>
> Marc
>
>
>
> Le 03/05/2024 à 14:47, DynV Montrealer a écrit :
>
> Is there a way to get a copy of a matrix only for TRUE entries of a
> matching size boolean matrix? For **example**:
>
> mat_letters <- matrix(data=c('A', 'B', 'C', 'D'), ncol=2, byrow=TRUE)
> mat_letters
>
>      [,1] [,2]
> [1,] "A"  "B"
> [2,] "C"  "D"
>
> mat_bools <- matrix(data=c(FALSE, TRUE, TRUE, FALSE), ncol=2, byrow=TRUE)
> mat_bools
>
>       [,1]  [,2]
> [1,] FALSE  TRUE
> [2,]  TRUE FALSE
> *Reminder:* The following is only an example ; the solution might look very
> different.
> some_command(mat_letters, mat_bools, false=empty)
>      [,1] [,2]
> [1,] ""  "B"
> [2,] "C"  ""
> some_command(mat_letters, mat_bools, false=na)
>      [,1] [,2]
> [1,] NA  "B"
> [2,] "C"  NA
>
>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list