[R] Odp: while( ) to get a vector until the sum of elements are <= X ?
Petr PIKAL
petr.pikal at precheza.cz
Fri Jul 10 13:43:55 CEST 2009
Hi
r-help-bounces at r-project.org napsal dne 10.07.2009 12:07:03:
> I have a vector of values
>
>
>
> X = seq(1:10)
>
>
>
> I want to get another vector V of with sample (with replacement) of X
but
> with a constrain: V will have as much elements as those necessary to V
sum
> exactly 10.
>
>
>
> If the N-th value of V make the sum greater than 10, it's is subtracted
with
> the difference to achieve the constrain.
>
>
>
> I don't know how to achieve this. with a while?
Maybe.
X = seq(1:10)
fff <- function(x, threshold=10) {
v<- sample(X, replace=T)
v.<-cumsum(v)
logic <- v. <= threshold
difer <- 10-sum(v[logic])
if (difer>0) c(v[logic], difer) else v[logic]
}
Regards
Petr
>
>
>
> ____________
>
> Paulo E. Cardoso
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
More information about the R-help
mailing list