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(
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
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
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
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
5 matches
Mail list logo