subsetAsDataFrame preserves colnames and unit test