[R] Re place only first NA in column

Erik Iverson eiverson at NMDP.ORG
Tue Nov 3 22:08:57 CET 2009


Mike,

Is this what you're trying to do, it avoids the awkward use of a while loop, taking advantage of the ability to vectorize R functions. 

fun <- function() {
  z <- matrix(rbinom(832, 1, prob = 0.048), nrow = 32)
  sum(rowSums(z) == 0)
}

a <- as.matrix(replicate(1000, fun()))



> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
> On Behalf Of bikemike42
> Sent: Tuesday, November 03, 2009 2:58 PM
> To: r-help at r-project.org
> Subject: [R] Re place only first NA in column
> 
> 
> Dear All,
> 
> I am trying to fill in a blank vector ("a") with one value at a time, with
> the value of the number of rows in a randomized dataset with rowSums=0.
> Below is the code I've got so far, but what I want to be as the last line
> is
> " a[1st NA,]=nz"
> such that this will run until all of my NAs are replaced with an integer
> value based on randomizations.
> 
> a<-matrix(nrow=1000,ncol=1)
> while(sum(is.na(a)>0))
> 	{
> 	z<-matrix(rbinom(832, 1, prob = 0.048), nrow = 32)
> 	rs<-rowSums(z)
> 	nz<-length(rs[rs==0])
> 	a[,]=nz
> 
> }
> 
> Thank you for your help!
> Mike
> --
> View this message in context: http://old.nabble.com/Replace-only-first-NA-
> in-column-tp26163589p26163589.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> 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.




More information about the R-help mailing list