Hello
I have the following dataframe
df <- data.frame(
Project=c("Abaco","Abaco","Abac","Abaco","Abaco","Abaco",
"Abaco","Adaptclone","Adaptclone","Adaptclone","Adaptclone","Adaptclone",
"Adaptclone","Adopt","Adopt","Adopt"),
Country=c("Zimbabwe","Burkina Faso","South
Africa","Madagascar","Tanzania",
"Mali","Mozambique","Madagascar","Ghana","Nigeria","Kenya","Burkina
Faso",
"South
Africa","Tanzania","Kenya","Ethiopia" ),
Iso=c("ZW","BF","ZA","MG","TZ","ML","MZ","MG","GH","NG","KE","BF",
"ZA","TZ","KE","ET"))
I would like to build a other dataframe with name Country
where column 1 is country,
the column 2 is number of project (in the country)
the column 3 is the code Iso (wich correspond with the country : Ex ZW
is ISO of Zimbabwe)
Pays PaysIso NbrProj
Zimbabwe ZW 1
Burkina Faso BF 2
I know associate Country and Number of projets but how associate Iso
Any idea ?
Thank you for your help
--
Michel ARNAUD
Charg? de mission aupr?s du DRH
DGDRD-Drh - TA 174/04
Av Agropolis 34398 Montpellier cedex 5
tel : 04.67.61.75.38
fax : 04.67.61.57.87
port: 06.47.43.55.31
Hello, Try the following. aggregate(Project ~ Country + Iso, data = df, FUN = length) Hope this helps, Rui Barradas Em 19-06-2013 15:23, Arnaud Michel escreveu:> Hello > > I have the following dataframe > > df <- data.frame( > Project=c("Abaco","Abaco","Abac","Abaco","Abaco","Abaco", > "Abaco","Adaptclone","Adaptclone","Adaptclone","Adaptclone","Adaptclone", > "Adaptclone","Adopt","Adopt","Adopt"), > > Country=c("Zimbabwe","Burkina Faso","South Africa","Madagascar","Tanzania", > "Mali","Mozambique","Madagascar","Ghana","Nigeria","Kenya","Burkina Faso", > "South Africa","Tanzania","Kenya","Ethiopia" ), > > Iso=c("ZW","BF","ZA","MG","TZ","ML","MZ","MG","GH","NG","KE","BF", > "ZA","TZ","KE","ET")) > > I would like to build a other dataframe with name Country > where column 1 is country, > the column 2 is number of project (in the country) > the column 3 is the code Iso (wich correspond with the country : Ex ZW > is ISO of Zimbabwe) > Pays PaysIso NbrProj > Zimbabwe ZW 1 > Burkina Faso BF 2 > > > I know associate Country and Number of projets but how associate Iso > > Any idea ? > Thank you for your help >
Hi,
May be this helps:
library(plyr)
?ddply(df,.(Country,Iso),summarize,NbrProj=length(Project))
#??????? Country Iso NbrProj
#1? Burkina Faso? BF?????? 2
#2????? Ethiopia? ET?????? 1
#3???????? Ghana? GH?????? 1
#4???????? Kenya? KE?????? 2
#5??? Madagascar? MG?????? 2
#6????????? Mali? ML?????? 1
#7??? Mozambique? MZ?????? 1
#8?????? Nigeria? NG?????? 1
#9? South Africa? ZA?????? 2
#10???? Tanzania? TZ?????? 2
#11???? Zimbabwe? ZW?????? 1
A.K.
A.K.
----- Original Message -----
From: Arnaud Michel <michel.arnaud at cirad.fr>
To: r-help at r-project.org
Cc:
Sent: Wednesday, June 19, 2013 10:23 AM
Subject: [R] to build a data.frame
Hello
I have the following dataframe
df <- data.frame(
Project=c("Abaco","Abaco","Abac","Abaco","Abaco","Abaco",
"Abaco","Adaptclone","Adaptclone","Adaptclone","Adaptclone","Adaptclone",
"Adaptclone","Adopt","Adopt","Adopt"),
Country=c("Zimbabwe","Burkina Faso","South
Africa","Madagascar","Tanzania",
"Mali","Mozambique","Madagascar","Ghana","Nigeria","Kenya","Burkina
Faso",
? "South
Africa","Tanzania","Kenya","Ethiopia" ),
Iso=c("ZW","BF","ZA","MG","TZ","ML","MZ","MG","GH","NG","KE","BF",
? "ZA","TZ","KE","ET"))
I would like to build a other dataframe with name Country
where column 1 is country,
the column 2 is number of project (in the country)
the column 3 is the code Iso (wich correspond with the country : Ex ZW
is ISO of Zimbabwe)
? ? ? Pays? ? ? ? PaysIso? NbrProj
? ? Zimbabwe? ? ? ZW? ? ? 1
? Burkina Faso? ? BF? ? ? ? 2
I know associate Country and Number of projets but how associate Iso
Any idea ?
Thank you for your help
--
Michel ARNAUD
Charg? de mission aupr?s du DRH
DGDRD-Drh - TA 174/04
Av Agropolis 34398 Montpellier cedex 5
tel : 04.67.61.75.38
fax : 04.67.61.57.87
port: 06.47.43.55.31
______________________________________________
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.
Try this:> aggregate(Project~Country+Iso, df, length)Country Iso Project 1 Burkina Faso BF 2 2 Ethiopia ET 1 3 Ghana GH 1 4 Kenya KE 2 5 Madagascar MG 2 6 Mali ML 1 7 Mozambique MZ 1 8 Nigeria NG 1 9 Tanzania TZ 2 10 South Africa ZA 2 11 Zimbabwe ZW 1 Or if you prefer left-aligned:> print(aggregate(Project~Country+Iso, df, length), right=FALSE)Country Iso Project 1 Burkina Faso BF 2 2 Ethiopia ET 1 3 Ghana GH 1 4 Kenya KE 2 5 Madagascar MG 2 6 Mali ML 1 7 Mozambique MZ 1 8 Nigeria NG 1 9 Tanzania TZ 2 10 South Africa ZA 2 11 Zimbabwe ZW 1 ------------------------------------- David L Carlson Associate Professor of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Arnaud Michel Sent: Wednesday, June 19, 2013 9:23 AM To: r-help at r-project.org Subject: [R] to build a data.frame Hello I have the following dataframe df <- data.frame( Project=c("Abaco","Abaco","Abac","Abaco","Abaco","Abaco", "Abaco","Adaptclone","Adaptclone","Adaptclone","Adaptclone","Adaptcl one", "Adaptclone","Adopt","Adopt","Adopt"), Country=c("Zimbabwe","Burkina Faso","South Africa","Madagascar","Tanzania", "Mali","Mozambique","Madagascar","Ghana","Nigeria","Kenya","Burkina Faso", "South Africa","Tanzania","Kenya","Ethiopia" ), Iso=c("ZW","BF","ZA","MG","TZ","ML","MZ","MG","GH","NG","KE","BF", "ZA","TZ","KE","ET")) I would like to build a other dataframe with name Country where column 1 is country, the column 2 is number of project (in the country) the column 3 is the code Iso (wich correspond with the country : Ex ZW is ISO of Zimbabwe) Pays PaysIso NbrProj Zimbabwe ZW 1 Burkina Faso BF 2 I know associate Country and Number of projets but how associate Iso Any idea ? Thank you for your help -- Michel ARNAUD Charg? de mission aupr?s du DRH DGDRD-Drh - TA 174/04 Av Agropolis 34398 Montpellier cedex 5 tel : 04.67.61.75.38 fax : 04.67.61.57.87 port: 06.47.43.55.31 ______________________________________________ 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.