sorry, don't understand your problem... i think it's better to use matrices directly or faster funtions; but sapply(1:4, function(x) ...) can do the job easily instead of 'for' loops.
------------------------------------------------------------------- Jacques VESLOT CNRS UMR 8090 I.B.L (2ème étage) 1 rue du Professeur Calmette B.P. 245 59019 Lille Cedex Tel : 33 (0)3.20.87.10.44 Fax : 33 (0)3.20.87.10.31 http://www-good.ibl.fr ------------------------------------------------------------------- Paul Chatfield a écrit : > Thanks for your reply, though this still wouldn't work with a function > for example, starting code like below fails because x is read as a > vector as opposed to doing it for x=1 then x=2 - is there any way of > tweaking the code easily, or do I just resign myself to for loops to do > that? > > x<-1:4 > trial<- function(x) > {xx<-matrix(runif(20), 2, 10) > if (xx[1,x]<0.5) { ...} > > Thanks > > Paul > > > */Jacques VESLOT <[EMAIL PROTECTED]>/* wrote: > > ?cumsum > > > system.time({ z <- NULL ; for (i in 1:1000) z <- c(z, > sum((1:i)**2)) }) > [1] 0.04 0.00 0.04 NA NA > > system.time( zz <- cumsum((1:1000)**2) ) > [1] 0 0 0 NA NA > > all.equal(z,zz) > [1] TRUE > > ------------------------------------------------------------------- > Jacques VESLOT > > CNRS UMR 8090 > I.B.L (2ème étage) > 1 rue du Professeur Calmette > B.P. 245 > 59019 Lille Cedex > > Tel : 33 (0)3.20.87.10.44 > Fax : 33 (0)3.20.87.10.31 > > http://www-good.ibl.fr > ------------------------------------------------------------------- > > > Paul Chatfield a écrit : > > Hi - I'm trying to avoid using a 'for' loop due to inefficiency > and instead use a function (and ultimately tapply as I'm working on > a matrix) but I can't figure out how to get 'function' to take the > variables as anything other than vectors for example > > > > aa<-0 > > x<-1:4 > > test.fun<-function(x) > > {aa<-(x*x +aa) > > return(aa)} > > test.fun(1:4) > > > > This code returns 'aa' as 1 4 9 16, but I'd like it to return aa > as 1 5 14 30 taking into consideration that I've just calculated aa > for x=1. Aside from using loops, is there not a simple way of > telling R to work out x for consecutive values? > > > > thanks > > > > Paul Chatfield > > > > > > Send instant messages to your online friends > http://uk.messenger.yahoo.com > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > [email protected] mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > > > > > Send instant messages to your online friends http://uk.messenger.yahoo.com > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
