[R] Best way to preallocate numeric NA array?

Rob Steele freenx.10.robsteele at xoxy.net
Thu Nov 26 17:03:27 CET 2009


These are the ways that occur to me.

## This produces a logical vector, which will get converted to a numeric
## vector the first time a number is assigned to it.  That seems
## wasteful.
x <- rep(NA, n)

## This does the conversion ahead of time but it's still creating a
## logical vector first, which seems wasteful.
x <- as.numeric(rep(NA, n))

## This avoids type conversion but still involves two assignments for
## each element in the vector.
x <- numeric(n)
x[] <- NA

## This seems reasonable.
x <- rep(as.numeric(NA), n)

Comments?

Thanks,
Rob



More information about the R-help mailing list