Is it possible to break it? I already told you that... NO. Also your mention of 
efficiency is not relevant. Keep in mind that apply functions are not 
significantly faster than for loops or while loops. They are just compact ways 
to express your intent. Usually people having speed problems with for loops are 
doing something wasteful inside their loop.

Re you're alternate question: you can't do that either. Your use of seq is the 
correct way if that is what you want to do.

---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnew...@dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

On October 9, 2014 11:12:33 PM PDT, PO SU <rhelpmaill...@163.com> wrote:
>
>
>Is that mean while may be more effient than  for in R? as i know, while
>and for  are all just functions in R. 
>Tks for your suggestion to not use apply that way, but i want to know,
>if possible, is there any way to break it ?
>Actually, there is a additional question:
>  x<- c(3,4,5,6,9)
> sapply(x ,function(i){
>foo(i)  #do something to each value in x,how can i know the i's index
>in x?
>)}
>In my way , i always 
>sapply(seq(x),function(i){
>foo(x[i])
>})
>or 
>Map( function(i,index){
>foo(i)  # through index to know the i's index in x
>},x ,seq(x)) 
>
>How you solve the problem? I mean just use apply functions.
>
>
>
>--
>
>PO SU
>mail: desolato...@163.com 
>Majored in Statistics from SJTU
>
>
>
>
>At 2014-10-10 13:58:29, "Jeff Newmiller" <jdnew...@dcn.davis.ca.us>
>wrote:
>>Don't use apply functions if you want to do what you describe. They
>don't work that way. Use a while control structure.
>>
>>---------------------------------------------------------------------------
>>Jeff Newmiller                        The     .....       .....  Go
>Live...
>>DCN:<jdnew...@dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live
>Go...
>>                                      Live:   OO#.. Dead: OO#.. 
>Playing
>>Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
>>/Software/Embedded Controllers)               .OO#.       .OO#. 
>rocks...1k
>>---------------------------------------------------------------------------
>
>>Sent from my phone. Please excuse my brevity.
>>
>>On October 9, 2014 10:24:49 PM PDT, PO SU <rhelpmaill...@163.com>
>wrote:
>>>
>>>Dear expeRts,
>>>   i  use sapply for loop, and i want to break it when i needed, how
>to
>>>do that?  e.g.
>>>
>>>sapply( 1:10, function(i) {
>>>if(i==5) break and jump out of the function sapply
>>>} )
>>>
>>>I want to do it because i have to loop 1000000 times, but i don't
>know
>>>when it will break, that means, it may need break at i=5 or at
>i=50000,
>>>for the possible of the  last case, i don't use for loop, because it
>>>slow(is it right?).
>>>So,if you happen to know it ,may you help me?
>>>
>>>
>>>--
>>>
>>>PO SU
>>>mail: desolato...@163.com 
>>>Majored in Statistics from SJTU
>>>______________________________________________
>>>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.
>>

______________________________________________
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