[R] Replace a for loop with a function

Eik Vettorazzi E.Vettorazzi at uke.de
Mon Sep 19 19:12:05 CEST 2011


sorry, there is a superfluous bracket at the end of the line, it should
be read as
sample(1:3,50,prob=c(0.5,0.15,0.35),replace=T)

Am 19.09.2011 19:08, schrieb Eik Vettorazzi:
> 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 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.
> 
> 


-- 
Eik Vettorazzi

Department of Medical Biometry and Epidemiology
University Medical Center 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 



More information about the R-help mailing list