[R] How to delete repeated values in MCMC sampling and get index of unique values?

Duncan Murdoch murdoch.duncan at gmail.com
Fri Jan 18 00:14:41 CET 2013


On 13-01-17 5:33 PM, C W wrote:
> I was looking for the first answer.
>
> In MCMC, at time t, when the candidate sample is rejected,
>
>  > candidate_sample[t] <- current_sample
>
> say, at time t+1, the sample is rejected AGAIN, we have
>
>  > candidate_sample[t+1] <- current_sample
>
> so, at time t, and t+1, we have the same value.  When I calculate the
> monte carlo mean, I don't want repeated value.

Then you will get the wrong answer, unless you want something very strange.

Duncan Murdoch

>
> Mike
>
> On Thu, Jan 17, 2013 at 5:20 PM, Bert Gunter <gunter.berton at gene.com
> <mailto:gunter.berton at gene.com>> wrote:
>
>     What answer is wanted for
>
>     c(1,1,1,2,3,1)   ?
>
>     Note that Duncan's  two suggestions below give different answers for
>     this.
>
>     -- Bert
>
>     On Thu, Jan 17, 2013 at 1:59 PM, Duncan Murdoch
>     <murdoch.duncan at gmail.com <mailto:murdoch.duncan at gmail.com>> wrote:
>      > On 13-01-17 4:50 PM, C W wrote:
>      >>
>      >> Dear list,
>      >> How do you delete repeated samples?  In MCMC, when your
>     candidate value
>      >> has
>      >> been reject, so you remain on the same point, so you keep that
>     value.
>      >>
>      >> Say I have this toy example,
>      >>
>      >>> c(1,6,6,6,3,5,4,4,2,3,5)
>      >>
>      >>
>      >> The 6 and 4 are repeated, I only want the index of the non-repeated
>      >> values.
>      >>
>      >> I thought of using which() and unique(), but that does not give
>     you the
>      >> index of the unique values.
>      >
>      >
>      > You could use x[!duplicated(x)] or rle(x)$values, depending on your
>      > definition of "repeated".  I hope you're aware that you can't use
>     either for
>      > things like quantiles and moments of the limiting distribution.
>      >
>      >> x <- c(1,6,6,6,3,5,4,4,2,3,5)
>      >> x[!duplicated(x)]
>      > [1] 1 6 3 5 4 2
>      >> rle(x)$values
>      > [1] 1 6 3 5 4 2 3 5
>      >
>      > Duncan Murdoch
>      >
>      > ______________________________________________
>      > R-help at r-project.org <mailto:R-help at 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.
>
>
>
>     --
>
>     Bert Gunter
>     Genentech Nonclinical Biostatistics
>
>     Internal Contact Info:
>     Phone: 467-7374
>     Website:
>     http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm
>
>



More information about the R-help mailing list