It is giving you exactly what you are asking for. You asked first which of dat1$v1 were in dat2$v; you got a TRUE on the second value (2006-05-03):
> dat1$v1 %in% dat2$v1 [1] FALSE TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE You then asked for which of dat1$v2 were in dat2$v2 and got a TRUE on the second entry (3352.5): > dat1$v2 %in% dat2$v2 [1] FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE The "&" says that the second value in dat1 has values that are in dat2, but not necessarily at the same location. On Sun, May 11, 2008 at 9:50 AM, <[EMAIL PROTECTED]> wrote: > Dear list: > > I can now reproduce with a bit of my real data, the problem I asked for > your help yestarday: > > time1<- as.Date(c("2006-01-03", "2006-05-03", "2006-05-04", > "2006-05-11", "2006-05-12", "2006-05-16", "2006-05-19", "2006-05-26", > "2006-09-15", "2006-10-30", "2006-11-08", "2006-11-14", "2006-11-20")) > volume1<- c(7312.5, 3352.5, 4252.5, 3825.0, 2700.0, 585.0, 810.0, > 3015.0, 2925.0, 1102.5, 2632.5, 652.5, 1417.5) > dat1<- data.frame(v1=time1, v2=volume1) > > time2<- as.Date(c("2006-05-03", "2006-05-09", "2006-05-04", > "2006-05-08", "2006-07-14", "2006-07-10", "2006-05-12", "2006-05-17", > "2006-05-19", "2006-05-26", "2006-05-29", "2006-05-18", "2006-05-22", > "2006-07-03", "2006-07-05", "2006-07-06", "2006-07-04", "2006-07-24", > "2006-07-12", "2006-07-18")) > volume2<- c(4522.5, 7065.0, 3622.5, 7875.0, 3532.5, 3667.5, 6480.0, > 4612.5, 4005.0, 10350.0, 5310.0, 6345.0, 7177.5, 5107.5, 4837.5, 3352.5, > 4050.0, 6772.5, 7290.0, 5625.0) > dat2<- data.frame(v1=time2, v2=volume2) > > subset(dat1, v1 %in% dat2$v1 & v2 %in% dat2$v2) > v1 v2 > 2 2006-05-03 3352.5 > > This is not what I expect since this row is not present in dat2 and I > just want records present in both dataframes. > > Help? > > J > > > > > > On Sat, 10 May 2008 18:42:51 -0400, "jim holtman" <[EMAIL PROTECTED]> > said: > > This seems to work for me: > > > > > set.seed(1) > > > df1 <- data.frame(v1=factor(sample(1:4,20,TRUE)), > v2=factor(sample(1:3,20,TRUE)), v3=sample(1:3,20,TRUE)) > > > df2 <- data.frame(v1=factor(sample(1:2,20,TRUE)), > v2=factor(sample(1:2,20,TRUE)), v3=sample(1:2,20,TRUE)) > > > subset(df1, (df1$v1 %in% df2$v1) & (df1$v2 %in% df2$v2) & (df1$v3 %in% > df2$v3)) > > v1 v2 v3 > > 2 2 1 2 > > 5 1 1 2 > > 11 1 2 2 > > 14 2 1 1 > > > > > > > Exactly what problems are you having? A sample of your actual data > > would be useful. > > > > On Sat, May 10, 2008 at 6:31 PM, <[EMAIL PROTECTED]> wrote: > > > Dear list: > > > > > > I have two dataframes, say dat1 and dat2. Each has several variables > but > > > 3 of each are common in both, (say v1, v2 and v3). v1 and v2 are > > > factores while v3 is numeric. Now, I need a subset to extract the rows > > > in which v1, v2 and v3 are the same in both dataframes. > > > I tried: > > > > > > subset(dat1, dat1$v1 %in% dat2$v1 & dat1$v2 %in% dat2$v2 & dat1$v3 > %in% > > > dat2$v3) > > > > > > I dont know why, but this is not working as I was expecting. Any > > > suggestion to improve my code? > > > > > > Thanks in advance > > > > > > Justin > > > -- > > > > > > [EMAIL PROTECTED] > > > > > > -- > > > > > > ______________________________________________ > > > 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<http://www.r-project.org/posting-guide.html> > > > and provide commented, minimal, self-contained, reproducible code. > > > > > > > > > > > -- > > Jim Holtman > > Cincinnati, OH > > +1 513 646 9390 > > > > What is the problem you are trying to solve? > -- > > [EMAIL PROTECTED] > > -- > http://www.fastmail.fm - Send your email first class > > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? [[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.