I've got a data table like:
ID Low Color Med Color High Color 1 234 123 324 2 4 432 3423
The rows are widgets, the columns are color levels. Would you call this table "widgets by color level" or "color levels by widget"?
"That depends." Rows are usually considered observations, and columns are variables. So I would say widgets by color level in your context. But it really depends on which are your dependent and independent variables (or how you're interpreting the data).
Of course you can view this table either way by transposing it. Conventionally, in a database rows represent objects and columns contain their attributes, whence this presentation would typically be viewed as a list of widgets, not a list of color levels.
Typically, we talk about a r(ow) X (c)olumn matrix, from Linear Algebra. So, a matrix with 2 rows and 3 columns is a 2 X 3 matrix. By that logic, I'd call your data frame a "Widgets by Color" table.
for a table like that, I say it the same way I'd say "n by k" for a matrix with n rows and k columns (i.e. rows first).