[R] (newbie) sum for certain number of rows

Dimitris Rizopoulos d.rizopoulos at erasmusmc.nl
Wed Jul 15 12:25:16 CEST 2009


one way is the following:

dat <- read.table(textConnection(
"0 0 1 0 0 1 0 1
0 0 0 0 0 0 0 0
1 0 0 1 1 0 1 0
0 0 1 1 0 0 0 0
1 1 0 0 0 0 1 1
0 0 0 0 0 0 0 0
0 1 0 1 1 0 1 0
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1"
))
closeAllConnections()

k <- 3
ind <- rep(seq(1, nrow(dat)/k), each = k)
rowsum(dat, ind)


I hope it helps.

Best,
Dimitris


kelvin lau wrote:
> I have following data in a data.csv file separated by space
> 
> 0 0 1 0 0 1 0 1
> 0 0 0 0 0 0 0 0
> 1 0 0 1 1 0 1 0
> 0 0 1 1 0 0 0 0
> 1 1 0 0 0 0 1 1
> 0 0 0 0 0 0 0 0
> 0 1 0 1 1 0 1 0
> 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1
> etc...
> 
> I wish to calculate the sum of each column for certain number of rows. For example if I want sum of the data after each 3 rows, it should display
> 1 0 1 1 1 1 1 1
> 1 1 1 1 0 0 1 1
> 2 3 2 3 3 2 3 2
> 
> So far, this is what I have done
> xx<-read.table("data.csv",header=FALSE)
> ss<-t(apply(xx,2,sum)) # which displayed the sum of all rows
> 
> I tried my best to look for solution on the Internet but so far haven't managed to find it. I am extremely grateful if someone can point me how to go about it. Thanks.
> 
> Kelvin
> 
> ______________________________________________
> 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.
> 

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




More information about the R-help mailing list