thanks a lot! That is really a big help.
I tried this code; x1 <- data.frame(category = sample(3, 10, r=TRUE), rnorm(10, 5, 2)) x2 <- data.frame(category = sample(3, 10, r=TRUE), rnorm(10, 8, 2)) x1$id <- unlist(with(x1, tapply(x1[,2], x1[,1], seq))) x2$id <- unlist(with(x2, tapply(x2[,2], x2[,1], seq))) subset(merge(x1, x2, by = c("category", "id"), all = T), select = -id) But the code sometimes shows this error message; Error in `$<-.data.frame`(`*tmp*`, "id", value = c(1L, 2L, 3L, 4L, 5L, : replacement has 17 rows, data has 10 Am 18.06.2009 um 03:32 schrieb Henrique Dallazuanna: > Yes, try this: > > x1$id <- unlist(with(x1, tapply(x, x, seq))) > x2$id <- unlist(with(x2, tapply(x, x, seq))) > subset(merge(x1, x2, by = c("x", "id"), all = T), select = -id) > > On Wed, Jun 17, 2009 at 10:24 PM, Martin Batholdy <batho...@googlemail.com > > wrote: >> Is because the category is not unique, then merge are replicate the >> values. > > > Yeah, ok. > > But that is exactly my problem with the actual data set, I don't > want "new" rows; > > If I have; > > x1 > 1 4 > 1 3 > 1 6 > 2 9 > 2 2 > > > x2 > 1 -3 > 1 -7 > 2 -3 > 2 -2 > > > > I want this data.frame; > > x1.x2 > 1 4 -3 > 1 3 -7 > 1 6 NA > 2 9 -3 > 2 2 -2 > > or > > x1.x2 > 1 4 -3 > 1 3 -7 > 2 9 -3 > 2 2 -2 > > > > > It does not matter to me if the rows are merged like; > > 1 4 -3 > 1 3 -7 > > or > > 1 4 -7 > 1 3 -3 > > > > > can I also do something like that with merge() ? > > > > Am 18.06.2009 um 03:18 schrieb Henrique Dallazuanna: > >> Is because the category is not unique, then merge are replicate the >> values. >> >> Try this example: >> >> x <- data.frame(category=1:10, rnorm(10)) >> y <- data.frame(category=3:12, rnorm(10)) >> >> merge(x, y, by = "category") >> merge(x, y, by="category", all = T) >> >> >> On Wed, Jun 17, 2009 at 10:04 PM, Martin Batholdy <batho...@googlemail.com >> > wrote: >> I have tried to replicate the example on the help page; >> >> >> x <- data.frame(category = sample(3, 10, r=TRUE), rnorm(10, 5, 2)) >> y <- data.frame(category = sample(3, 10, r=TRUE), rnorm(10, 8, 2)) >> >> merge(x, y, by = "category") >> >> >> >> When I do that, I get a data.frame with 28 rows instead of 10. >> >> What am I doing wrong? >> >> >> >> Am 18.06.2009 um 02:42 schrieb David Winsemius: >> >> >> Red the help page for merge: >> >> ?merge >> >> >> On Jun 17, 2009, at 8:33 PM, Martin Batholdy wrote: >> >> hi, >> >> >> I have two data.frames each with two columns; >> >> >> x1 >> >> 1 4 >> 1 3 >> 1 6 >> 2 9 >> 2 2 >> 2 5 >> 3 6 >> 3 7 >> 3 4 >> >> >> x2 >> >> 1 -3 >> 1 -7 >> 2 -3 >> 2 -2 >> 2 -8 >> 3 -1 >> 3 -2 >> 3 -1 >> >> now I want to merge this data.frames to one data.frame. >> >> The problem is, that sometimes there is a different number of >> elements per category. >> (like above x1 has 3 values for the value 1 in the first row, but >> x2 has only 2 values for the value 1 in the first row). >> >> Is there an easy way to merge this two data.frames by deleting the >> rows that only one data.frame "has". >> In the example, that resulting data.frame would be the data.frame >> x1 and x2 except the row 3 of data.frame x1. >> >> thanks for any suggestions! >> >> ______________________________________________ >> 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. >> >> David Winsemius, MD >> Heritage Laboratories >> West Hartford, CT >> >> >> ______________________________________________ >> 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. >> >> >> >> -- >> Henrique Dallazuanna >> Curitiba-Paraná-Brasil >> 25° 25' 40" S 49° 16' 22" O > > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O [[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.