On Jun 28, 2010, at 9:30 PM, Yi wrote:

Hi, folks,

Please let me address the problem by the following codes:

first=c('u','b','e','k','j','c','u','f','c','e')
second
=
c
('usa
','Brazil
','England','Korea','Japan','China','usa','France','China','England')
third=1:10
data=data.frame(first,second,third)

## You may understand values in the first column are the unique codes for
those in the second column.
####So 'u' is only for usa. Replicate values appear the same rows for the
first and second columns.
### Now I want to delete replicate rows with the same values in first
(sceond) rows
####and sum up values in the third column for the same values.

> with( data[!duplicated(data$first), ], tapply(third, first, sum) )
b c e f j k u
2 6 3 8 5 4 1

Cannot quite figure out how you got you supposed correct result if you are removing duplicates. So maybe you are incorrectly stating the problem and want:

> with( data, tapply(third, first, sum) )
 b  c  e  f  j  k  u
 2 15 13  8  5  4  8


--
David

mm=melt(data,id='first')
sum=cast(mm,first~variable,sum)

### This does not work. ><

But the expected dataframe is like this:

1      u    third     8
2      b    third     2
3      e    third     13
4      k    third     4
5      j    third     5
6      c    third     15
8      f    third     8
Thanks in advance.

Yi

        [[alternative HTML version deleted]]

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

David Winsemius, MD
West Hartford, CT

______________________________________________
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