[R] remove elements from matrix
Dear all, I have a numeric vector that contains indices. I also have two matrices of [1,m] dimension and of [m,n] dimension. I want for every indexto remove the current element from the [1,m] vector an the row from the [m,n] matrix. How I can do that efficiently in R? So to say not have a for loop getting parameter after parameter and then removing row by row from the vector and the matrix. I would like to thank you in advance B.R Alex [[alternative HTML version deleted]] __ R-help@r-project.org mailing list 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.
Re: [R] remove elements from matrix
Try this. As you did not supply a reproducible example my code is untested: 1.m.vector[index.vector] - NULL or new.1.m.vector - 1.m.vector[- index.vector] Someting equivalent is possible for the matrix. HTH Jannis On 09/30/2011 11:30 AM, Alaios wrote: Dear all, I have a numeric vector that contains indices. I also have two matrices of [1,m] dimension and of [m,n] dimension. I want for every indexto remove the current element from the [1,m] vector an the row from the [m,n] matrix. How I can do that efficiently in R? So to say not have a for loop getting parameter after parameter and then removing row by row from the vector and the matrix. I would like to thank you in advance B.R Alex [[alternative HTML version deleted]] __ R-help@r-project.org mailing list 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. __ R-help@r-project.org mailing list 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.
Re: [R] remove elements from matrix
Am 30.09.2011 11:30, schrieb Alaios: Dear all, I have a numeric vector that contains indices. I also have two matrices of [1,m] dimension and of [m,n] dimension. I want for every indexto remove the current element from the [1,m] vector an the row from the [m,n] matrix. How I can do that efficiently in R? So to say not have a for loop getting parameter after parameter and then removing row by row from the vector and the matrix. This should get you there ... indexVec = c(2,3) indexVec [1] 2 3 mat1 = matrix(rnorm(4),1,4) mat1 [,1][,2] [,3] [,4] [1,] -0.4535787 -0.09076038 1.156931 -0.9116866 mat2 = matrix(rnorm(4),4,1) mat2 [,1] [1,] -1.4346468 [2,] -0.1764882 [3,] 0.8840969 [4,] -0.8722242 trueFalseIndex = rep(FALSE, length(mat1)) trueFalseIndex [1] FALSE FALSE FALSE FALSE trueFalseIndex[indexVec] = TRUE trueFalseIndex [1] FALSE TRUE TRUE FALSE mat1[!trueFalseIndex] [1] -0.4535787 -0.9116866 I assume you can make the transfer to filter mat2 yourself ... Regards, Ulrich __ R-help@r-project.org mailing list 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.