Dear all, I have just sent an enquiry but probably I hadn’t expressed myself properly. Could anyone help me with the following? When I run the code on my data I get a boxplot with outliers identified by numbers 200 & 201. However, what I would like is to label these outliers with their corresponding “DATA$num” values of the data frame. In this example, the outliers should be labelled as: 211 & 225 Do you have any idea of how I could do this? Please, if you need any more details just get in touch. Many thanks in advance! ## R CODE #DATA num <- as.numeric(200:225) ave <- c(0.5, 1, 1.6, 2, 2, 2.3, 2.5, 2.4, 3, 3.2, 3.3, 7.2, 4, 4.8, 3.5, 2.7, 3.1, 2.8, 4.1, 2.0, 2.5, 2.1, 3.4, 2.5, 2.6, 7) DATA <- data.frame(cbind(num, ave)) rm(num, ave) #BOXPLOT x11() bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") identify(x= bp$group, y= bp$out, labels= DATA$num, cex = 0.7) Bea [[alternative HTML version deleted]]
Hello, The answers you had in another thread could lead you to bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") idx <- which(DATA$ave %in% bp$out) text(x= bp$group, y= bp$out, labels= DATA$num[idx], cex = 0.7, pos = 4) Hope this helps, Rui Barradas Em 09-04-2013 17:31, Beatriz Gonz?lez Dom?nguez escreveu:> Dear all, > > I have just sent an enquiry but probably I hadn???t expressed myself properly. > > Could anyone help me with the following? > > When I run the code on my data I get a boxplot with outliers identified by numbers 200 & 201. > However, what I would like is to label these outliers with their corresponding ???DATA$num??? values of the data frame. > In this example, the outliers should be labelled as: 211 & 225 > > Do you have any idea of how I could do this? > > Please, if you need any more details just get in touch. > > Many thanks in advance! > > ## R CODE > #DATA > num <- as.numeric(200:225) > ave <- c(0.5, 1, 1.6, 2, 2, 2.3, 2.5, 2.4, 3, 3.2, 3.3, 7.2, 4, 4.8, 3.5, 2.7, 3.1, 2.8, 4.1, 2.0, 2.5, 2.1, 3.4, 2.5, 2.6, 7) > DATA <- data.frame(cbind(num, ave)) > rm(num, ave) > > #BOXPLOT > x11() > bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") > identify(x= bp$group, y= bp$out, labels= DATA$num, cex = 0.7) > > Bea > [[alternative HTML version deleted]] > > > > ______________________________________________ > 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, I'm glad it help. You should cc the list, maybe it will be of use to others. Rui Barradas Em 09-04-2013 21:00, Beatriz Gonz?lez Dom?nguez escreveu:> I have solved it, many thanks! > > -----Original Message----- From: Rui Barradas > Sent: Tuesday, April 09, 2013 7:33 PM > To: Beatriz Gonz?lez Dom?nguez > Cc: r-help-owner at r-project.org ; R Help 1 ; R Help 2 > Subject: Re: [R] Boxplot Labels OK > > Hello, > > The answers you had in another thread could lead you to > > bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") > idx <- which(DATA$ave %in% bp$out) > text(x= bp$group, y= bp$out, labels= DATA$num[idx], cex = 0.7, pos = 4) > > > Hope this helps, > > Rui Barradas > > Em 09-04-2013 17:31, Beatriz Gonz?lez Dom?nguez escreveu: >> Dear all, >> >> I have just sent an enquiry but probably I hadn???t expressed myself >> properly. >> >> Could anyone help me with the following? >> >> When I run the code on my data I get a boxplot with outliers >> identified by numbers 200 & 201. >> However, what I would like is to label these outliers with their >> corresponding ???DATA$num??? values of the data frame. >> In this example, the outliers should be labelled as: 211 & 225 >> >> Do you have any idea of how I could do this? >> >> Please, if you need any more details just get in touch. >> >> Many thanks in advance! >> >> ## R CODE >> #DATA >> num <- as.numeric(200:225) >> ave <- c(0.5, 1, 1.6, 2, 2, 2.3, 2.5, 2.4, 3, 3.2, 3.3, 7.2, 4, 4.8, >> 3.5, 2.7, 3.1, 2.8, 4.1, 2.0, 2.5, 2.1, 3.4, 2.5, 2.6, 7) >> DATA <- data.frame(cbind(num, ave)) >> rm(num, ave) >> >> #BOXPLOT >> x11() >> bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") >> identify(x= bp$group, y= bp$out, labels= DATA$num, cex = 0.7) >> >> Bea >> [[alternative HTML version deleted]] >> >> >> >> ______________________________________________ >> 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. >> >
Beatriz, In this case, use the car package and run the following:> bp <- Boxplot(DATA$ave, data= DATA, main= "Average Size", labels=DATA$num, Id.method=c("y"))This will print out the labels 211 & 225 beside the outlier points. As you can see, the instruction assigns the values in the num column in the DATA data frame to the labels. If you prefer the interactive option, replace id.method=c("y") with id.method=c("identify") Kind regards, Jos? Jos? Iparraguirre Chief Economist Age UK T 020 303 31482 E Jose.Iparraguirre at ageuk.org.uk Twitter @jose.iparraguirre at ageuk Tavis House, 1- 6 Tavistock Square London, WC1H 9NB www.ageuk.org.uk?| ageukblog.org.uk | @ageukcampaigns -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Beatriz Gonz?lez Dom?nguez Sent: 09 April 2013 17:32 To: r-help-owner at r-project.org; R Help 1; R Help 2 Subject: [R] Boxplot Labels OK Dear all, I have just sent an enquiry but probably I hadn???t expressed myself properly. Could anyone help me with the following? When I run the code on my data I get a boxplot with outliers identified by numbers 200 & 201. However, what I would like is to label these outliers with their corresponding ???DATA$num??? values of the data frame. In this example, the outliers should be labelled as: 211 & 225 Do you have any idea of how I could do this? Please, if you need any more details just get in touch. Many thanks in advance! ## R CODE #DATA num <- as.numeric(200:225) ave <- c(0.5, 1, 1.6, 2, 2, 2.3, 2.5, 2.4, 3, 3.2, 3.3, 7.2, 4, 4.8, 3.5, 2.7, 3.1, 2.8, 4.1, 2.0, 2.5, 2.1, 3.4, 2.5, 2.6, 7) DATA <- data.frame(cbind(num, ave)) rm(num, ave) #BOXPLOT x11() bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") identify(x= bp$group, y= bp$out, labels= DATA$num, cex = 0.7) Bea [[alternative HTML version deleted]] Please donate to the Syria Crisis Appeal by text or online: To donate ?5 by mobile, text SYRIA to 70800. To donate online, please visit http://www.ageinternational.org.uk/syria Over one million refugees are desperately in need of water, food, healthcare, warm clothing, blankets and shelter; Age International urgently needs your support to help affected older refugees. Age International is a subsidiary charity of Age UK and a member of the Disasters Emergency Committee (DEC). The DEC launches and co-ordinates national fundraising appeals for public donations on behalf of its member agencies. Texts cost ?5 plus one standard rate message. Age International will receive a minimum of ?4.96. More info at ageinternational.org.uk/SyriaTerms ------------------------------- Age UK is a registered charity and company limited by guarantee, (registered charity number 1128267, registered company number 6825798). Registered office: Tavis House, 1-6 Tavistock Square, London WC1H 9NA. For the purposes of promoting Age UK Insurance, Age UK is an Appointed Representative of Age UK Enterprises Limited, Age UK is an Introducer Appointed Representative of JLT Benefit Solutions Limited and Simplyhealth Access for the purposes of introducing potential annuity and health cash plans customers respectively. Age UK Enterprises Limited, JLT Benefit Solutions Limited and Simplyhealth Access are all authorised and regulated by the Financial Services Authority. ------------------------------ This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you receive a message in error, please advise the sender and delete immediately. Except where this email is sent in the usual course of our business, any opinions expressed in this email are those of the author and do not necessarily reflect the opinions of Age UK or its subsidiaries and associated companies. Age UK monitors all e-mail transmissions passing through its network and may block or modify mails which are deemed to be unsuitable. Age Concern England (charity number 261794) and Help the Aged (charity number 272786) and their trading and other associated companies merged on 1st April 2009. Together they have formed the Age UK Group, dedicated to improving the lives of people in later life. The three national Age Concerns in Scotland, Northern Ireland and Wales have also merged with Help the Aged in these nations to form three registered charities: Age Scotland, Age NI, Age Cymru.
Hi Jose, Thanks a lot for your email! I was told a good solution to label outliers of a boxplot with identifying variable values of the data frame (instead of the row names). An example can be seen below: ## R CODE #DATA num <- as.numeric(200:225) ave <- c(0.5, 1, 1.6, 2, 2, 2.3, 2.5, 2.4, 3, 3.2, 3.3, 7.2, 4, 4.8, 3.5, 2.7, 3.1, 2.8, 4.1, 2.0, 2.5, 2.1, 3.4, 2.5, 2.6, 7) DATA <- data.frame(cbind(num, ave)) rm(num, ave) #BOXPLOT x11() bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") identify(rep(1, nrow(DATA)), DATA$ave, labels=DATA$num, cex=.7) Bea -----Original Message----- From: Jose Iparraguirre Sent: Wednesday, April 10, 2013 10:19 AM To: Beatriz Gonz?lez Dom?nguez ; r-help-owner at r-project.org ; R Help 1 ; R Help 2 Subject: RE: [R] Boxplot Labels OK Beatriz, In this case, use the car package and run the following:> bp <- Boxplot(DATA$ave, data= DATA, main= "Average Size", labels=DATA$num, > Id.method=c("y"))This will print out the labels 211 & 225 beside the outlier points. As you can see, the instruction assigns the values in the num column in the DATA data frame to the labels. If you prefer the interactive option, replace id.method=c("y") with id.method=c("identify") Kind regards, Jos? Jos? Iparraguirre Chief Economist Age UK T 020 303 31482 E Jose.Iparraguirre at ageuk.org.uk Twitter @jose.iparraguirre at ageuk Tavis House, 1- 6 Tavistock Square London, WC1H 9NB www.ageuk.org.uk | ageukblog.org.uk | @ageukcampaigns -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Beatriz Gonz?lez Dom?nguez Sent: 09 April 2013 17:32 To: r-help-owner at r-project.org; R Help 1; R Help 2 Subject: [R] Boxplot Labels OK Dear all, I have just sent an enquiry but probably I hadn???t expressed myself properly. Could anyone help me with the following? When I run the code on my data I get a boxplot with outliers identified by numbers 200 & 201. However, what I would like is to label these outliers with their corresponding ???DATA$num??? values of the data frame. In this example, the outliers should be labelled as: 211 & 225 Do you have any idea of how I could do this? Please, if you need any more details just get in touch. Many thanks in advance! ## R CODE #DATA num <- as.numeric(200:225) ave <- c(0.5, 1, 1.6, 2, 2, 2.3, 2.5, 2.4, 3, 3.2, 3.3, 7.2, 4, 4.8, 3.5, 2.7, 3.1, 2.8, 4.1, 2.0, 2.5, 2.1, 3.4, 2.5, 2.6, 7) DATA <- data.frame(cbind(num, ave)) rm(num, ave) #BOXPLOT x11() bp <- boxplot(DATA$ave, data= DATA, main= "Average Size") identify(x= bp$group, y= bp$out, labels= DATA$num, cex = 0.7) Bea [[alternative HTML version deleted]] Please donate to the Syria Crisis Appeal by text or online: To donate ?5 by mobile, text SYRIA to 70800. To donate online, please visit http://www.ageinternational.org.uk/syria Over one million refugees are desperately in need of water, food, healthcare, warm clothing, blankets and shelter; Age International urgently needs your support to help affected older refugees. Age International is a subsidiary charity of Age UK and a member of the Disasters Emergency Committee (DEC). The DEC launches and co-ordinates national fundraising appeals for public donations on behalf of its member agencies. Texts cost ?5 plus one standard rate message. Age International will receive a minimum of ?4.96. More info at ageinternational.org.uk/SyriaTerms ------------------------------- Age UK is a registered charity and company limited by guarantee, (registered charity number 1128267, registered company number 6825798). Registered office: Tavis House, 1-6 Tavistock Square, London WC1H 9NA. For the purposes of promoting Age UK Insurance, Age UK is an Appointed Representative of Age UK Enterprises Limited, Age UK is an Introducer Appointed Representative of JLT Benefit Solutions Limited and Simplyhealth Access for the purposes of introducing potential annuity and health cash plans customers respectively. Age UK Enterprises Limited, JLT Benefit Solutions Limited and Simplyhealth Access are all authorised and regulated by the Financial Services Authority. ------------------------------ This email and any files transmitted with it are confide...{{dropped:27}}