(1) Using 'C == TRUE' (when you know C is logical)
is equivalent to just plain C, only obscure.
Similarly, 'C == FALSE' is more confusing than !C.
(2) Consider B[C]. The rows of C have 2, 1, 1, 2, 1 TRUE.
entries, so the result here *cannot* be a rectangular array.
And whatever it
Here is a way of doing it using the 'arr.ind' option in 'which'
> A <- 1:20
> B <- matrix(A,nrow=5,ncol=4)
> B
[,1] [,2] [,3] [,4]
[1,]16 11 16
[2,]27 12 17
[3,]38 13 18
[4,]49 14 19
[5,]5 10 15 20
> # B is a numerical matrix
> C <- B<
A is not a matrix. I presume you meant B. If so:
> B[!C] <- 0
> B
[,1] [,2] [,3] [,4]
[1,]1600
[2,]2000
[3,]3000
[4,]400 19
[5,]5000
Cheers,
Bert
On Sat, Sep 5, 2020 at 11:18 AM Vivek Sutradhara
wrote:
> Hi
The result that I want to get is this:
for (i in 1:5) {
for (j in 1:4) {
B[i,j] <- ifelse(C[i,j]==FALSE,0,B[i,j])
}
}
I would like to know if I can do this without loops.
Den lör 5 sep. 2020 kl 20:18 skrev Vivek Sutradhara :
> Hi
> I would like to get help in combining two matrices. Here
Hi
I would like to get help in combining two matrices. Here is my example:
A <- 1:20
B <- matrix(A,nrow=5,ncol=4)
# B is a numerical matrix
C <- B<7
C[4,4] <- TRUE
# C is a logical matrix
# if I combine A and C, I get a vector
D1 <- A[C==TRUE]
D1
D2 <- A[C==FALSE]
D2
I want to get a matrix with th
5 matches
Mail list logo