Delete comment from: One R Tip A Day
Paolo said...
It's better to use data[data==0] <- NA.
Example:
set.seed(123)
data <- matrix(rnorm(100), ncol = 10)
data[sample(100, 20)] <- 0
data <- data.frame(data)
##
data[which(data==0)] = NA
Error in `[<-.data.frame`(`*tmp*`, which(data == 0), value = NA) :
new columns would leave holes after existing columns
## the code below does work
data[data==0] <- NA
Jun 15, 2009, 9:55:14 PM

