one option is the following:

Acres <- c(100,101,100,130,156,.5,293,300,.09)
Bldgid <- c(1,2,3,4,5,5,6,7,7)
DF <- data.frame(Acres, Bldgid)

aggregate(DF, list(Bldgid), sum)


I hope it helps.

Best,
Dimitris


PDXRugger wrote:
Hello All, I would like to select records with identical IDs then sum an attribute
then and return them to the data frame as a single record.  Please consider


Acres<-c(100,101,100,130,156,.5,293,300,.09)
Bldgid<-c(1,2,3,4,5,5,6,7,7)

DF=cbind(Acres,Bldgid)
DF<-as.data.frame(DF)

So that:

  Acres Bldgid
1 100.00      1
2 101.00      2
3 100.00      3
4 130.00      4
5 156.00      5
6   0.50      5
7 293.00      6
8 300.00      7
9   0.09      7

Becomes

  Acres Bldgid
1 100.00      1
2 101.00      2
3 100.00      3
4 130.00      4
5 156.50      5
7 293.00      6
8 300.09      7

dup<-unique(DF$Bldgid[duplicated(Bldgid)])
dupbuild<-DF[DF$Bldgid %in% dup,]
dupbuild..dupareasum<-sum(dupbuild$Acres[duplicated(dupbuild$Bldgid)])

This sums the unique Ids of the duplicated records, not whati want.  Thanks
ahead of time

JR



--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014

______________________________________________
R-help@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.

Reply via email to