Using clustered standard errors assumes that the regression coefficients are the same for all the clusters in the data, right? What if they are not the same. For example, I have used F-test to compare regression coefficients across the 3 clusters in the plot below. The null is rejected that the regression coefficients are the same across the three regression models. So my intuition is that I cannot do something like "regress A B, cluster(C)", for example in STATA, right?. Thus, I should do a regression for each cluster instead? I will read on clustered standard errors later, so a hint will help.
Using clustered standard errors in Stata doesn't impose any additional restrictions on your coefficient estimates. The coefficient estimates are independent of the
vce() option you choose.
If you have reason to believe your standard errors should be clustered, it means you think that there is some association between the cluster variable and your outcome. If that's the case, then you should absolutely include the cluster variable in the regression itself, at least as a fixed effect. Typically, it's most efficient to do that using
areg. Both allow the
vce(cluster clustvar) option.
If you only include your cluster variable as a fixed effect, then you are implicitly assuming that the coefficients across clusters are the same but allowing for different intercepts - that's not a consequence of clustering the standard errors, but of the underlying parametric model. If you want to allow for varying coefficient estimates between clusters, you could include interactions between your independent variables and your cluster variables.