    Hi All,

    I'm looking for some hints on idiomatic R usage using 'lapply' or similar. 
    What follows is a simple example from which to generalize my question...

    # Suppose, in this simple example, I want to plot a number of different lines in different colors;
    # I define the colors I wish to use and I plot them in a loop: 
    d<- data.frame(read.table(textConnection("
         Y     X     D 
                85    30     0
                95    40     1
                90    40     1
                75    20     0
           100    60     1
                90    40     0
                90    50     0
                90    30     1
               100    60     1
                85    30     1"
    ), header=TRUE))
    # graph the relation of Y to X when 
    #     i)  D==0
    #     ii) D==1
    with( d, plot(X, Y, type="n") )
    component<- with( d, split(d, D) )
    colors<- c("blue", "green")
    for (i in 1:length(component))
        with( component[[i]], lines(X, predict(lm(Y ~ X)), col=colors[i]) )

    #
    # ... seems easy enough
    #
    # [Q.]: How to do the same as the above but using 'lapply'?
    # ... i.e. something along the lines of:
    with( d, plot(X, Y, type="n") )
    colors<- c("blue", "green")
    # how do I get lapply to increment i?
    lapply( with(d, split(d, D)), function(z) with(z, lines(X, predict(lm(Y ~ X)), col=colors[i])) )
         
Thanks,

Jack.


			
---------------------------------


	[[alternative HTML version deleted]]


