[R] Help with script

Eric Berger ericjberger at gmail.com
Fri Dec 29 06:08:43 CET 2017


Hi Pablo,
There are probably many ways to do this in R. This suggestion uses dplyr.
The solution is actually only one line (see the line starting with dat2).
The first section simply creates the example data.

library(dplyr)
# 1. set up the example data
m <- matrix( c(0,0,0,0,0,1,1,1,0,0,1,1,1,1,2,1,1,2,0,1,2,2,2,1,0,1,1,1),
nrow=4)
dat <- as.data.frame(m)
dat$ID <- c("a1","a2","a2","a3")
dat <- dat[,c(8,1:7)]
colnames(dat) <- c("ID",LETTERS[1:7])

#2. group the data by ID, summing the columns in each group
dat2 <- group_by(dat,ID) %>% summarise_all( sum )

#3. show the results
dat2

# # A tibble: 3 x 8
#      ID     A     B     C     D     E     F     G
#   <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
# 1    a1     0     0     0     1     1     2     0
# 2    a2     0     2     1     3     2     4     2
# 3    a3     0     1     1     1     1     1     1

HTH,
Eric


On Fri, Dec 29, 2017 at 2:03 AM, PABLO ORTIZ PINEDA <pablo.ortiz at yale.edu>
wrote:

> Hello there. Happy new year for everyone!
>
> I need help with a table. This table contains 300 rows and 192 columns.
> Being the first column the ID of my samples that can have several
> observations.
>
> I need to generate e NEW table that contains a single ID with the sum of
> the observations by columns:
> For example:
>
> Example
> ID   A    B    C    D    E    F    G.... 191 columns
> a1   0    0    0    1    1    2    0...
> a2   0    1    0    1    2    2    1...
> a2   0    1    1    2    0    2    1...
> a3   0    1    1    1    1    1    1....
> ...300rows
> In this case I want to make a new table in which there is only 1 ID and
> the values of each columns A...G are added. I
> n the example the new table would have only 3 IDs. a1, a2 and 3 and a2
> has the values added by column:
> a2   0   2   1   3   2   4   2..
>
> Thank you so much and have a wonderful year!.
>
> --
> Pablo A. Ortiz-Pineda (Ph.D.)
> Molecular Biology & Bioinformatics
> Yale University. School of Medicine.
> Pediatrics Department.
> New Haven, CT 06510
>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

	[[alternative HTML version deleted]]



More information about the R-help mailing list