Dear r-help contributors, I have two questions: first: I have a matrix A and a vector B. I want to make a new matrix C, which is made of the rows of A having a value included in B. Second: I have two matrixes A and B, of different dimensions. B has unique values in column 2 and A has not unique values on column 2. I want to merge this two matrixes by the values in the columns 2 of B and 2 of A in such a way that the resulting matrix will be C: A: 1 2 2 2 3 3 4 3 5 4 6 4 7 5 8 5 B: 1 2 x c d 2 3 y f g C: 1 2 x c d 2 2 x c d 3 3 y f g 4 3 y f g 5 4 NA NA 6 4 NA NA 7 5 NA NA 8 5 NA NA Can you help me? Many thanks in advance. [[alternative HTML version deleted]]
Hi Juan, Your first question can be answered easily. bin.matrix = matrix(A %in% B,nrow(A),ncol(A)) ; bin.vector = rowSums(bin.matrix) > 0 ; C = A[bin.vector,] ; This should do the trick. Cheers, Luc Juan Pablo Fededa wrote:> Dear r-help contributors, > > I have two questions: > > first: > > I have a matrix A and a vector B. > I want to make a new matrix C, which is made of the rows of A having a value > included in B. > > Second: > > I have two matrixes A and B, of different dimensions. > B has unique values in column 2 and A has not unique values on column 2. > I want to merge this two matrixes by the values in the columns 2 of B and 2 > of A in such a way that the resulting matrix will be C: > > > A: > > 1 2 > 2 2 > 3 3 > 4 3 > 5 4 > 6 4 > 7 5 > 8 5 > > > B: > > 1 2 x c d > 2 3 y f g > > C: > > 1 2 x c d > 2 2 x c d > 3 3 y f g > 4 3 y f g > 5 4 NA NA > 6 4 NA NA > 7 5 NA NA > 8 5 NA NA > > > Can you help me? > > > Many thanks in advance. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at 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. >
Hi again, Your second problem can be solved with the "merge" function. Look at the help file with ?merge. Best of luck, Luc Juan Pablo Fededa wrote:> Merci a lot!!!!!! > > On Tue, Apr 14, 2009 at 10:32 PM, Luc Villandre > <villandl at dms.umontreal.ca <mailto:villandl at dms.umontreal.ca>> wrote: > > Hi Juan, > > Your first question can be answered easily. > > bin.matrix = matrix(A %in% B,nrow(A),ncol(A)) ; > bin.vector = rowSums(bin.matrix) > 0 ; > C = A[bin.vector,] ; > > This should do the trick. > > Cheers, > > Luc > > Juan Pablo Fededa wrote: > > Dear r-help contributors, > > I have two questions: > > first: > > I have a matrix A and a vector B. > I want to make a new matrix C, which is made of the rows of A > having a value > included in B. > > Second: > > I have two matrixes A and B, of different dimensions. > B has unique values in column 2 and A has not unique values on > column 2. > I want to merge this two matrixes by the values in the columns > 2 of B and 2 > of A in such a way that the resulting matrix will be C: > > > A: > > 1 2 > 2 2 > 3 3 > 4 3 > 5 4 > 6 4 > 7 5 > 8 5 > > > B: > > 1 2 x c d > 2 3 y f g > > C: > > 1 2 x c d > 2 2 x c d > 3 3 y f g > 4 3 y f g > 5 4 NA NA > 6 4 NA NA > 7 5 NA NA > 8 5 NA NA > > > Can you help me? > > > Many thanks in advance. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org <mailto:R-help at 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. > > >