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) }
Hello, A ")" is missing. I guess your code should be 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) } HTH, Pascal Le 08/01/2013 10:23, Elaine Kuo a ?crit :> 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. >
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)) #closing parentheses ??? abline(line,col=c("yellow","chocolate1","darkorange2", "red3","saddlebrown","coral4","grey38")[i],lwd=2)? ??? } 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.
Hello Thanks. It is right a ) is missing for lm. With the modification, I ran the code but the command seems not closed, with + instead of >. Please kindly help. The code modified 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) ) } Elaine On Tue, Jan 8, 2013 at 10:03 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)) #closing parentheses > abline(line,col=c("yellow","chocolate1","darkorange2", > "red3","saddlebrown","coral4","grey38")[i],lwd=2) > } > > > 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. >
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. >