Marc Girondot
2024-May-03 14:28 UTC
[R] Get a copy of a matrix only for TRUE entries of a matching size boolean matrix?
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]]
DynV Montrealer
2024-May-03 14:39 UTC
[R] Get a copy of a matrix only for TRUE entries of a matching size boolean matrix?
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 at 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]]