Dear all, I have a dataset train <- cbind(c(0,2,2,1,0), c(8,9,4,0,2), 6:10, c(-1, 1, 1, -1, 1)) test <- cbind(1:5, c(0,1,5,1,3), c(1,1,2,0,3) ,c(1, 1, -1, 1, 1)) I want to find which rows of train and test it different in its last column (column 4). The solution must be something like train [,1] [,2] [,3] [,4] [1,] 0 8 6 -1 [3,] 2 4 8 1 [4,] 1 0 9 -1 test [,1] [,2] [,3] [,4] [1,] 1 0 1 1 [3,] 3 5 2 -1 [4,] 4 1 0 1 I have tried with matrix(train %in% test, dim(train)) apply(train, 1, paste, collapse="") %in% apply(test, 1, paste, collapse="") It doesn't work. How can I do. Thanks for any help. Best, Muhammad Subianto
Does this work for you? dd <- mapply("==",train,test) > dim(dd) <- dim(train) > dd [,1] [,2] [,3] [,4] [1,] FALSE FALSE FALSE FALSE [2,] TRUE FALSE FALSE TRUE [3,] FALSE FALSE FALSE FALSE [4,] FALSE FALSE FALSE FALSE [5,] FALSE FALSE FALSE TRUE HTH steve Muhammad Subianto wrote:> Dear all, > I have a dataset > train <- cbind(c(0,2,2,1,0), c(8,9,4,0,2), 6:10, c(-1, 1, 1, -1, 1)) > test <- cbind(1:5, c(0,1,5,1,3), c(1,1,2,0,3) ,c(1, 1, -1, 1, 1)) > > I want to find which rows of train and test it different in its last > column (column 4). > The solution must be something like > > train > [,1] [,2] [,3] [,4] > [1,] 0 8 6 -1 > [3,] 2 4 8 1 > [4,] 1 0 9 -1 > > > test > [,1] [,2] [,3] [,4] > [1,] 1 0 1 1 > [3,] 3 5 2 -1 > [4,] 4 1 0 1 > > I have tried with > matrix(train %in% test, dim(train)) > apply(train, 1, paste, collapse="") %in% apply(test, 1, paste, collapse="") > > It doesn't work. > How can I do. > Thanks for any help. > > Best, Muhammad Subianto > > ______________________________________________ > R-help at stat.math.ethz.ch 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 maybe simple math can do it. different (train[,4]-test[,4])!=0 same (train[,4]-test[,4])==0 if you are sure the numbers are integers HTH Petr On 24 Aug 2006 at 12:03, Muhammad Subianto wrote: Date sent: Thu, 24 Aug 2006 12:03:31 +0200 From: "Muhammad Subianto" <msubianto at gmail.com> To: r-help at stat.math.ethz.ch Subject: [R] How to compare rows of two matrices> Dear all, > I have a dataset > train <- cbind(c(0,2,2,1,0), c(8,9,4,0,2), 6:10, c(-1, 1, 1, -1, 1)) > test <- cbind(1:5, c(0,1,5,1,3), c(1,1,2,0,3) ,c(1, 1, -1, 1, 1)) > > I want to find which rows of train and test it different in its last > column (column 4). The solution must be something like > > train > [,1] [,2] [,3] [,4] > [1,] 0 8 6 -1 > [3,] 2 4 8 1 > [4,] 1 0 9 -1 > > > test > [,1] [,2] [,3] [,4] > [1,] 1 0 1 1 > [3,] 3 5 2 -1 > [4,] 4 1 0 1 > > I have tried with > matrix(train %in% test, dim(train)) > apply(train, 1, paste, collapse="") %in% apply(test, 1, paste, > collapse="") > > It doesn't work. > How can I do. > Thanks for any help. > > Best, Muhammad Subianto > > ______________________________________________ > R-help at stat.math.ethz.ch 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.Petr Pikal petr.pikal at precheza.cz
Dear Stephen C. Upton & Petr Pikal Thank you both very much for the suggestions! Best wishes, Muhammad Subianto On this day 24/08/2006 12:03, Muhammad Subianto wrote:> Dear all, > I have a dataset > train <- cbind(c(0,2,2,1,0), c(8,9,4,0,2), 6:10, c(-1, 1, 1, -1, 1)) > test <- cbind(1:5, c(0,1,5,1,3), c(1,1,2,0,3) ,c(1, 1, -1, 1, 1)) > > I want to find which rows of train and test it different in its last > column (column 4). > The solution must be something like > > train > [,1] [,2] [,3] [,4] > [1,] 0 8 6 -1 > [3,] 2 4 8 1 > [4,] 1 0 9 -1 > > > test > [,1] [,2] [,3] [,4] > [1,] 1 0 1 1 > [3,] 3 5 2 -1 > [4,] 4 1 0 1 > > I have tried with > matrix(train %in% test, dim(train)) > apply(train, 1, paste, collapse="") %in% apply(test, 1, paste, > collapse="") > > It doesn't work. > How can I do. > Thanks for any help. > > Best, Muhammad Subianto >