# Is clustered standard errors the best way for all regressions that uses clustered data?

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 xtreg orareg. Both allow the vce(cluster clustvar) option.
• The cluster variable is C in your question. It's typically categorical - think states, municipalities, firms, etc. And yes, using fixed effects alone provides for different intercepts but assumes the same slopes as you say. If you want to allow for different slopes, you can do that through interactions. The easiest way to do that, if you want to allow for every possible interaction, is the factorial ## in Stata. Otherwise, you can call specific interactions using #. I included a link to that part of the Stata manual in the last paragraph of the answer. Dec 31 '20 at 18:58