It is great! It takes now less than 1 second (with the table function
(0.34'), 2 sec with the ave function (1.91') ) with my "big" data and
only two lines of code ;).
Thanks a lot every one.
Regards,
Laetitia.
>Laetitia Marisa <[EMAIL PROTECTED]> writes:
>
>
>
>>Hello,
>>
>>Is there a simple and fast function that returns a vector of the number
>>of replications for each object of a vector ?
>>For example :
>>I have a vector of IDs :
>>ids <- c( "ID1", "ID2", "ID2", "ID3", "ID3","ID3", "ID5")
>>
>> I want the function returns the following vector where each term is the
>>number of replicates for the given id :
>>c( 1, 2, 2, 3,3,3,1 )
>>
>>Of course I have a vector of more than 40 000 ID and the function I
>>wrote (it orders my data and checks on ID:Name of the data if the next
>>term is the same as the previous one (see below) ) is really slow
>>(30minutes for 44290 terms). But I don't have time by now to write a C
>>function.
>>Thanks a lot for your help,
>>
>>
>
>Will this do it?
>
>
>
>>table(ids)[ids]
>>
>>
>ids
>ID1 ID2 ID2 ID3 ID3 ID3 ID5
> 1 2 2 3 3 3 1
>
>Or (could be faster):
>
>
>
>>f <- factor(ids,levels=unique(ids))
>>as.vector(table(f))[f]
>>
>>
>[1] 1 2 2 3 3 3 1
>
>
>
>
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html