Sources of error
Besides the fact that the sRGB gamut is limited and fabric colors could be completely outside of this gamut, there are several other sources for the errors that we are seeing above, and we also tried to speculate on the discrepancy in the effectiveness of the correction algorithms between the different types of fabric.
1) The pictures of the Macbeth Color Checker were not taken at the exact same angle as the pictures of the materials, so light was not uniform across the samples. Therefore, it is possible that the correction 3x3 matrix for the camera may not have been completely accurate
2) Spectrophotometer measurements were not taken from the exact same angle and under the exact same illumination angle as pictures taken with the Nikon camera, so inconsistencies may arise from this fact too, especially since the results of the 2 different measurements are compared to each other in order to obtain the error plots.
3) Our speculation is that the difference in texture of the test fabrics causes them to be more or less sensitive to the above errors, and thus to amplify the effect of these errors to a lesser or greater extent. Upon visual inspection of the fabrics, it is quite obvious that the reflectivities of satin and velvet vary widely with the angle that they are viewed at - as opposed to fleece and linen which have relatively even reflectance across all viewing angles.
4) One area for improvement is the formula for error calculation: we could look at the errors in R, G and B separately as opposed to averaging them out, and potentially see patterns which are currently overlooked.