Best way to handle missing data?
For clarification about FIML (and in support of what Ken explained), my professor who does multilevel modeling in SAS tells me that in SAS, "FIML" refers to a form of maximum likelihood estimation that can accept an incomplete data set, and does not omit the observations with missing data as must be done in both "ML" and "REML" in nlme. FIML in SAS handles observations in which the data is missing for some variables by just using those variables for which data is available and integrating over the missing values. This is the default method in SAS PROC MIXED for all mixed effects models (not just for structural equation modeling).
I hate to be so blunt here, but this is just flat out wrong. proc mixed is great and all, but it doesn't do such a thing. Just like lmer() and lme() (with na.action=na.omit), proc mixed will just delete rows with missing data and then use ML or REML estimation on what's left (which is perfectly fine under certain missing data mechanisms). Consequently, fitting the same model with proc mixed and lmer() or lme() to the same data with missing data yields essentially identical results. One can easily confirm this with a few examples.
But this functionality does not appear to be available in R except for structural equation modeling (i.e. package, lavaan).
Indeed, one has to switch to some form of a latent variable model if one wants to use FIML. In R, one should look into 'lavaan' or 'sem' (or 'OpenMX' for the more adventurous). In SAS, one would need to use something like proc calis: http://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/statug_calis_sect103.htm Again, proc mixed does not use FIML. I am really just repeating what Ken has already stated. Also relevant: http://stats.stackexchange.com/questions/51006/full-information-maximum-likelihood-for-missing-data-in-r Best, Wolfgang