your line of reasoning is correct, but your statement "The basis of R^3 could have either 3, 2, 1 or 0 dimensions" is incorrect.

a basis does not have dimension, dimension (of a vector space) is the number of basis elements. and any basis for R^3 has 3 elements.

i think what you mean to say, is that a basis for a subspace of R^3 could have 0,1,2 or 3 elements.