Skip to content

question about apply function

2 messages · Andris Jankevics, Dimitris Rizopoulos

#
Dear R-Users,

For example i have a data matrix with five samples and three variables.

DATA <- matrix(c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5),nrow=5,ncol=3,byrow=TRUE)
colnames (DATA) <- c("V1","V2","V3")
rownames (DATA) <- c("S1","S2","S3","S4","S5")

I want to normalize all samples to same sum of variables:

NormFun <- function (i) {(i*(1/sum(i)))}

Dnorm <- apply(DATA,1,NormFun)

Why I am getting tranposed matrix Dnorm? And with my experimental data (with 
32k variables) i am getting a slighty different results from:

apply(DATA,1,NormFun)
apply(t(DATA),2,NormFun)

Thankyou,

Andris Jankevics
#
in this case you may use something like the following:

DATA <- matrix(1:5, 5, 3)
dimnames(DATA) <- list(c("S1","S2","S3","S4","S5"), c("V1","V2","V3"))
#####################
DATA / rowSums(DATA)
DATA / rep(colSums(DATA), each = nrow(DATA))


I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Andris Jankevics" <andza at osi.lv>
To: <r-help at stat.math.ethz.ch>
Sent: Friday, December 08, 2006 9:36 AM
Subject: [R] question about apply function
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm