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]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to