Skip to content
Back to formatted view

Raw Message

Message-ID: <1385922401.87686.YahooMailNeo@web142604.mail.bf1.yahoo.com>
Date: 2013-12-01T18:26:41Z
From: arun
Subject: Removing NAs from matrix
In-Reply-To: <DUB124-W25B34E2307BBC5EF53F49180EB0@phx.gbl>

Hi,
Try:
?rowMeans

rowMeans(mat,na.rm=TRUE)
A.K.


On Sunday, December 1, 2013 1:15 PM, Amie Hunter <amie_hunter at hotmail.com> wrote:
Hello R users,

I'm new to R so apologies if this question seems simple. I have a matrix which is 35000 columns by 35000 rows and I?m wanting to work out the mean of each row. I've tried using the code below on a smaller version of the matrix, but receive an error:

> mat
????? [,1]????? [,2] [,3]????? [,4]?????? [,5]????? [,6]????? [,7]????? [,8]????? [,9]???? [,10]???? [,11]
?[1,]?? NA 0.3904762? 0.2 0.4285714 0.04761905??????? NA??????? NA??????? NA??????? NA??????? NA??????? NA
?[2,]?? NA??????? NA? 0.2 0.2000000 0.23809524 0.2190476??????? NA??????? NA??????? NA??????? NA??????? NA
?[3,]?? NA??????? NA?? NA 0.5047619 0.27619048 0.2952381 0.1428571??????? NA??????? NA??????? NA??????? NA
?[4,]?? NA??????? NA?? NA??????? NA 0.42857143 0.3714286 0.3333333 0.2190476??????? NA??????? NA??????? NA
?[5,]?? NA??????? NA?? NA??????? NA???????? NA 0.8666667 0.6761905 0.4857143 0.6571429??????? NA??????? NA
?[6,]?? NA??????? NA?? NA??????? NA???????? NA??????? NA 0.6190476 0.4285714 0.6761905 0.4857143??????? NA
?[7,]?? NA??????? NA?? NA??????? NA???????? NA??????? NA??????? NA 0.6952381 0.6380952 0.6000000 0.2571429
?[8,]?? NA??????? NA?? NA??????? NA???????? NA??????? NA??????? NA??????? NA 0.6761905 0.6000000 0.1809524
?[9,]?? NA??????? NA?? NA??????? NA???????? NA??????? NA??????? NA??????? NA??????? NA 0.6190476 0.3142857
[10,]?? NA??????? NA?? NA??????? NA???????? NA??????? NA??????? NA??????? NA??????? NA??????? NA 0.5809524
[11,]?? NA??????? NA?? NA??????? NA???????? NA??????? NA??????? NA??????? NA??????? NA??????? NA??????? NA
> mean.matrix <- matrix(ncol=1, nrow=10)
> for (i in mat)
+ mean.matrix[,i] <- apply(mat,1,mean)
Error: NAs are not allowed in subscripted assignments

I have come across the na.omit() function however this completely removes the row. Is there any way I can either remove all the NAs from the matrix or pull out the values of each row to work out the mean? 

Thanks,

Amie ??? ???  ??? ?  ??? ??? ? 
______________________________________________
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.