Re: [R] Comparing elements for equality

2009-01-13 Thread markleeds
Hi Harold: Below works on your data set but check it a lot because I am a little worried that I could have missed something. Hopefully someone can send a a little clearer way. dat <- data.frame(id = c(1,1,2,2,2), var1 = c(10,10,20,20,25), var2 = c('foo', 'foo', 'foo', 'foobar', 'foo')) print(

Re: [R] Comparing elements for equality

2009-01-13 Thread Marc Schwartz
on 01/13/2009 01:17 PM Doran, Harold wrote: > Suppose I have a dataframe as follows: > > dat <- data.frame(id = c(1,1,2,2,2), var1 = c(10,10,20,20,25), var2 = > c('foo', 'foo', 'foo', 'foobar', 'foo')) > > Now, if I were to subset by id, such as: > >> subset(dat, id==1) > id var1 var2 > 1 1

Re: [R] Comparing elements for equality

2009-01-13 Thread Doran, Harold
Nice. I was thinking maybe length(table(x) == 1), but this works great > -Original Message- > From: Carlos J. Gil Bellosta [mailto:c...@datanalytics.com] > Sent: Tuesday, January 13, 2009 2:55 PM > To: Doran, Harold > Cc: r-help@r-project.org > Subject: Re: [R] Comp

Re: [R] Comparing elements for equality

2009-01-13 Thread Carlos J. Gil Bellosta
Hello, You could build your output dataframe along the following lines: foo <- function(x) length( unique(x) ) == 1 results <- data.frame( freq = tapply( dat$id, dat$id, length ), var1 = tapply( dat$var1, dat$id, foo ), var2 = tapply( dat$var2, dat$id, foo ) ) Best reg

[R] Comparing elements for equality

2009-01-13 Thread Doran, Harold
Suppose I have a dataframe as follows: dat <- data.frame(id = c(1,1,2,2,2), var1 = c(10,10,20,20,25), var2 = c('foo', 'foo', 'foo', 'foobar', 'foo')) Now, if I were to subset by id, such as: > subset(dat, id==1) id var1 var2 1 1 10 foo 2 1 10 foo I can see that the elements in var1 ar