Hi to all. I want to create a model matrix with variables that have missing values. Recently I learned that na.pass/na.exclude and naresid are of great help in these type of cases (thanks, W. Dunlap). Here's an example: y <- c(1:5) x1 <- c(1, 0, 1, 0, 1) x2 <- c(1, NA, 1, NA, 1) x3 <- c(NA, 0, 1, 0, NA) mf <- model.frame(y ~ x1 + x2 + x3, na.action = "na.pass") mf y x1 x2 x3 1 1 1 1 NA 2 2 0 NA 0 3 3 1 1 1 4 4 0 NA 0 5 5 1 1 NA mm <- model.matrix(mf) mm (Intercept) x1 x2 x3 3 1 1 1 1 attr(,"assign") [1] 0 1 2 3 mm2 <- naresid(attr(mf, "na.action"), mm) mm2 (Intercept) x1 x2 x3 3 1 1 1 1 attr(,"assign") [1] 0 1 2 3 As you can see, model.frame respects NA's. However, after model.matrix, it doesn't work when I try to insert them in the right place with naresid. Am I doing something wrong? Thanks, Martin [[alternative HTML version deleted]]