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]]
______________________________________________
[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