Hi Iris,
maybe I misinterpret this, but I think in the end it all comes down to
sample(1:3,50,prob=c(0.5,0.15,0.35),replace=T))

cheers

Am 19.09.2011 17:16, schrieb Eekhout, I.:
> Hi all, 
> 
> I would like to replace the for loop in the code below with a function
> to improve the speed and to make the script more efficient. 
> The loop creates a vector of integers (x) with the probability of f for
> each integer.
> The length of f is variable, but sums to 1. 
> I tried to use a function with optional arguments which did not work.
> 
> Here is the code:
> 
> f <- data.matrix(c(0.5,0.15,0.35))
> u <- runif(50) 
> x <- data.matrix(rep(1, n)) 
> fc <- 0
>       for(i in 1:length(f))   {
>               fc <- fc + f[i]         
>               cf <- ifelse(u>fc,1,0)
>               x <- x + cf
>       }
> x
> 
> Can anyone help me with this translation?
> Thanks in advance, 
> 
> Iris
> 
> ______________________________________________
> 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.


-- 
Eik Vettorazzi
Institut für Medizinische Biometrie und Epidemiologie
Universitätsklinikum Hamburg-Eppendorf

Martinistr. 52
20246 Hamburg

T ++49/40/7410-58243
F ++49/40/7410-57790

--
Pflichtangaben gemäß Gesetz über elektronische Handelsregister und 
Genossenschaftsregister sowie das Unternehmensregister (EHUG):

Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; 
Gerichtsstand: Hamburg

Vorstandsmitglieder: Prof. Dr. Jörg F. Debatin (Vorsitzender), Dr. Alexander 
Kirstein, Joachim Prölß, Prof. Dr. Dr. Uwe Koch-Gromus 

______________________________________________
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