- Can anyone tell me which R function to use for multiple imputation?
- Also, what should I do to determine if the missing data are MAR or MCAR or not?
For doing multiple imputation with R, have a look at the glmnet library.
To determine if missingness is in any way related to your dependant variable, you can create a binary variable that indicates, for each unit, if any of the variables used in your model has a missing value. Then you can compare the values of your dependant variable for the two groups of cases (with missing versus without missing values) with a t-test or chi-square, depending on the nature of the variable. Repeat the latter exercise for every independent variable. If few differences exist between the two groups, it suggests MAR (I'll leave the MAR vs MCAR discussion to others).
Just to be clear, your data is not necessarily MAR or MCAR! It could be missing based on unobserved predictors, or in the worst case missing precisely because of the value the variable would have taken. I recommend Gelman and Hill's chapter on imputation to help you understand imputation. They explain how to model missing data without any special packages. There are packages which can help though, so after reading Gelman and Hill you might google for "Amelia R imputation" or "MICE R imputation" ... there are many others as well.