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.
>