Hello -
ss wrote:
Hi all,
I have a matrix called 'data', which looks like:
data[1:4,1:4]
Probe_ID Gene_Symbol M1601 M1602
1 A_23_P105862 13CDNA73 -1.6 0.16
2 A_23_P76435 15E1.2 0.18 0.59
3 A_24_P402115 15E1.2 1.63 -0.62
4 A_32_P227764 15E1.2 -0.76 -0.42
dim(data)
[1] 23963 85
Do you really have a matrix, or a data.frame?
Try
> class(data)
What I want to do is to make a new matrix called 'data2', which would be
transformed
by subtracting the mean of each row from matrix 'data'. There are some 'NA's
in the
matrix and I do want to keep it.
See ?scale
I tried to take 'mean's from each row first by using:
a<- rowMeans(data[,3:85],na.rm = FALSE)
but I got:
a<- rowMeans(data[,3:85],na.rm = FALSE)
Error in rowMeans(data[, 3:85], na.rm = FALSE) : 'x' must be numeric
Can anybody suggest me how to get around this?
Figure out what you are giving the rowMeans function.
If you really have a matrix, then
all(apply(data[,3:85], 2, class) == "numeric") should be TRUE.
Thank you very much!
Allen
[[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.
______________________________________________
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.