Hi everyone,
Let's assume that I have a matrix X, dimensions 10×2, a variable z of dimensions 10×1. Then I want to create an interaction term based on the sorted values of y, so that the first half gets 0 and the highest values get 1. Then I want to regress the interaction term on variable y.
x = randn(10,2);z = randn(10,1);y = randn(10,1);[zsorted,zsindex]=sort(z);zsorted(1:5)=0; zsorted(6:end)=1; % Interaction Term
intterm = x(zsindex,:).*zsorted;
How can i transform the elements of the interaction term back to the original order of x? I could get the same results by
res = ols(y(zsindex,:), intterm);
But is there any other way to be done?
Thanks in advance.
Best Answer