[R] error in a abline loop

arun smartpink111 at yahoo.com
Tue Jan 8 15:30:11 CET 2013


HI Elaine,

In the data you sent to me, it had 5 levels for skin_color.
data1<-read.csv("skin_color.csv",sep="\t")
data1$skin_color<-factor(data1$skin_color)
levels(data1$skin_color)
#[1] "1" "2" "3" "4" "5"


 mypath<-file.path("/home/arun/Trial1",paste("Elaine_",1:5,".jpg",sep=""))  #change the file.path according to your system
 for(i in seq_along(mypath)){
jpeg(file=mypath[i])
 plot(body_weight~body_length,data=data1[data1$skin_color==i,])
line<-lm(body_weight~body_length,data=data1[data1$skin_color==i,])
 abline(line,col=c("yellow","blue","green","orange","red")[i],lwd=2)
 dev.off()
 }

#or

lapply(seq_along(mypath),function(i) {jpeg(file=mypath[i])
                                     line<-lm(body_weight~body_length,data=data1[data1$skin_color==i,])
                                     plot(body_weight~body_length,data=data1[data1$skin_color==i,])
                                     abline(line,col=c("yellow","blue","green","orange","red")[i],lwd=2)
                                     dev.off()
                                      })


A.K.




----- Original Message -----
From: Elaine Kuo <elaine.kuo.tw at gmail.com>
To: arun <smartpink111 at yahoo.com>
Cc: 
Sent: Monday, January 7, 2013 9:48 PM
Subject: Re: [R] error in a abline loop

Hello arun

Thank you always.
Please kindly help the attached data for your reference.

Elaine


On Tue, Jan 8, 2013 at 10:00 AM, arun <smartpink111 at yahoo.com> wrote:
> HI,
>
> A possible guess ( with no data):
> for (i in 1:7) {
>     subs <- data$skin_color==levels(data$skin_color)[i]
>     line<-lm(body_weight~body_length, data=subset(data, subset=subs),
>     abline(line,col=c("yellow","chocolate1","darkorange2",
> "red3","saddlebrown","coral4","grey38")[i],lwd=2) ) #closing parenthesis for lm( was missing
>     }
>
>
> A.K.
>
>
>
> ----- Original Message -----
> From: Elaine Kuo <elaine.kuo.tw at gmail.com>
> To: r-help at r-project.org
> Cc:
> Sent: Monday, January 7, 2013 8:23 PM
> Subject: [R] error in a abline loop
>
> Hello
>
> I have data of body length and body weight of people of different skin colors.
>
> I tried to write a code to plot body length and body weight according
> to the skin colors.
> (Thanks for Petr's advice so far.)
>
> A loop is used but an error shows up in the following code.
> It says:
> unexpected '}' in
> "    "red3","red3","saddlebrown","coral4","chocolate4","darkblue","navy","grey38")[i],lwd=2)
>     }"
>
> Please kindly advise how to modify the code.
> Thank you.
>
> The code
>   data <-read.csv("H:/skincolor.csv",header=T)
>
>   # graph
>     par(mai=c(1.03,1.03,0.4,0.4))
>
>     plot(data$body_weight, data$body_length,
>     xaxp=c(0,200,4),
>     yaxp=c(0,200,4),
>     type="p",
>     pch=1,lwd=1.0,
>     cex.lab=1.4, cex.axis=1.2,
>     font.axis=2,
>     cex=1.5,
>     las=1,
>     bty="l",col=c("yellow","chocolate1","darkorange2",
> "red3","saddlebrown","coral4","grey38")[as.numeric(data$skin_color)])
>
>
>     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     ##
>     for (i in 1:7) {
>     subs <- data$skin_color==levels(data$skin_color)[i]
>     line<-lm(body_weight~body_length, data=subset(data, subset=subs),
>     abline(line,col=c("yellow","chocolate1","darkorange2",
> "red3","saddlebrown","coral4","grey38")[i],lwd=2)
>     }
>
> ______________________________________________
> 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.
>





More information about the R-help mailing list