Message-ID: <CACk-te0Fc+_pbCLwtekj3jz5hT-dMB5xUCgWWJPBjimkr8Hqeg@mail.gmail.com>
Date: 2011-07-14T15:54:53Z
From: Bert Gunter
Subject: Adding rows based on column value
In-Reply-To: <5BDAC30CDCA4184E9E5E57167D4E2C96018E5C8FEC37@KCL-MAIL01.kclad.ds.kcl.ac.uk>
?tapply (in base R)
?aggregate ?by (wrapper for tapply)
?ave (in base R -- based on tapply)
Also package plyr (and several others, undoubtedly).
Also google on "R summarize data by groups" or similar gets many relevant hits.
-- Bert
2011/7/14 Bansal, Vikas <vikas.bansal at kcl.ac.uk>:
> Dear all,
>
> I have one problem and did not find any solution.(I have also attached the problem in text file because sometimes column spacing is not good in mail)
>
> I have a file(file.txt) attached with this mail.I am reading it using this code to make a data frame (file)-
>
> file=read.table("file.txt",fill=T,colClasses = "character",header=T)
>
> file looks like this-
>
> ?Chr ? ? ? Pos ? ? ? ? ? ?CaseA ? ? CaseC ? ? ? ? ? ?CaseG ? ? ?CaseT
> ?10 135344110 ?0.000000 24.000000 ?0.000000 ?0.000000
> ?10 135344110 ?0.000000 ?0.000000 24.000000 ?0.000000
> ?10 135344110 ?0.000000 ?0.000000 24.000000 ?0.000000
> ?10 135344113 ?0.000000 ?0.000000 24.000000 ?0.000000
> ?10 135344114 24.000000 ?0.000000 ?0.000000 ?0.000000
> ?10 135344114 24.000000 ?0.000000 ?0.000000 ?0.000000
> ?10 135344116 ?0.000000 ?0.000000 ?0.000000 24.000000
> ?10 135344118 ?0.000000 24.000000 ?0.000000 ?0.000000
> ?10 135344118 ?0.000000 ?0.000000 ?0.000000 24.000000
> ?10 135344122 24.000000 ?0.000000 ?0.000000 ?0.000000
> ?10 135344122 ?0.000000 24.000000 ?0.000000 ?0.000000
> ?10 135344123 ?0.000000 24.000000 ?0.000000 ?0.000000
> ?10 135344123 ?0.000000 24.000000 ?0.000000 ?0.000000
> ?10 135344123 ?0.000000 ?0.000000 ?0.000000 24.000000
> ?10 135344126 ?0.000000 ?0.000000 24.000000 ?0.000000
>
> Now some of the values in column Pos are same.for these same positions i want to add the values of columns 2:6
> I will explain with an example-
> The output of first row should be-
>
> ?Chr ? ? ? Pos ? ? ? ? ? ?CaseA ? ? CaseC ? ? ? ? ? ?CaseG ? ? ?CaseT
> ?10 135344110 ?0.000000 24.000000 ?48.000000 ?0.000000
>
> so the whole output for above input should be-
>
> ?Chr ? ? ? Pos ? ? ? ? ? ?CaseA ? ? CaseC ? ? ? ? ? ?CaseG ? ? ?CaseT
> ?10 135344110 ? ?0.000000 ?24.000000 ?48.000000 ? ?0.000000
> ?10 135344113 ? ?0.000000 ? 0.000000 ? 24.000000 ? ?0.000000
> ?10 135344114 ?48.000000 ?0.000000 ? ?0.000000 ? ? 0.000000
> ?10 135344116 ? 0.000000 ? 0.000000 ? ?0.000000 ? ?24.000000
> ?10 135344118 ? 0.000000 ?24.000000 ? 0.000000 ? ?24.000000
> ?10 135344122 ?24.000000 24.000000 ? 0.000000 ? ?0.000000
> ?10 135344123 ? 0.000000 ?48.000000 ? 0.000000 ? ?24.000000
> ?10 135344126 ? 0.000000 ?0.000000 ? ?24.000000 ? 0.000000
>
> Can you please help me.
>
>
>
> Thanking you,
> Warm Regards
> Vikas Bansal
> Msc Bioinformatics
> Kings College London
> ______________________________________________
> 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.
>
>
--
"Men by nature long to get on to the ultimate truths, and will often
be impatient with elementary studies or fight shy of them. If it were
possible to reach the ultimate truths without the elementary studies
usually prefixed to them, these would not be preparatory studies but
superfluous diversions."
-- Maimonides (1135-1204)
Bert Gunter
Genentech Nonclinical Biostatistics