aaply(data,2,class) returns "data.frame" for all columns, which I think is unexpected. Instead it should return the class of the respective column in the data.frame. This also has direct practical implications. Using aaply(data,2,mean) throughs a warning 1: mean(<data.frame>) is deprecated. and will probably not work in future versions of R.
Using a*ply with data.frames is a documented feature and it is important to work with the columns and rows of a data.frame. I think it should treat the different columns as vectors of the respective class and not as nx1 data.frames.
1: mean(<data.frame>) is deprecated.
Here is a stackoverflow discussion about this and some code to illustrate.
# "data.frame" "data.frame"
# 1: mean(<data.frame>) is deprecated.
# Use colMeans() or sapply(*, mean) instead.
Per my comment, I think this is correct behaviour.