How to avoid "$ operator is invalid for atomic vectors" in R

Using some versions of R (2.8 and 2.9) you sometimes get the mystifying error message "$ operator is invalid for atomic vectors" . This can happen even if the R code you are running worked in earlier versions.

This may be due to inputting data as matrix data rather than a dataframe in R. You can so this conversion easily using the command as.data.frame.

% matrix data
b=matrix(a,3,2,byrow=T)
% converted to dataframe format
c=as.data.frame(b)

This advice is presented in fuller detail here.