If the values in xm are always going to be consecutive integers 1:n, then this:

> prob.xm[xm]
xm
    1     2     3     4     5     5     5     6     6
0.111 0.111 0.111 0.111 0.333 0.333 0.333 0.222 0.222


otherwise:
> prob.xm[as.numeric(as.factor(xm))]
xm
    1     2     3     4     5     5     5     6     6
0.111 0.111 0.111 0.111 0.333 0.333 0.333 0.222 0.222

(equivalent in this case).

Sarah

On Thu, Sep 22, 2011 at 3:41 PM, Jim Silverton <jim.silver...@gmail.com> wrote:
>>
>> Hi all,
>> I have a vector xm say:  xm = c(1,2,3,4,5,5,5,6,6)
>>
>> I want to return a vector with the corresponding probabilities based on the
>> amount of times the numbers occurred. For example, I should get the
>> following vector for xm:
>> prob.xm = c(1/9, 1/9, 1/9, 1/9, 3/9, 3/9, 3/9, 2/9, 2/9)
>>
>
> Using prop.table gives:
>
>
> Usage (with table)
>
>> prob.xm <- round( prop.table(table(xm)), digits=3)
>> prob.xm
> xm
>   1     2     3     4     5     6
> 0.111 0.111 0.111 0.111 0.333 0.222
>
> But I want the entire length of probabilities, not just a condensed version.
> Any help is greatl appreciated.
>
>


-- 
Sarah Goslee
http://www.functionaldiversity.org

______________________________________________
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.

Reply via email to