How can i build a for loop for a subset of data having repetitions?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I would like to do a regression analysis with some data in matrix A1 (variables indexed). The variable IDstop1 is repeated many times and i want to do the regression for each subset of Rmean_pred1, Rmean_obs1 and Zero1 where IDstop1 is the same (for example for IDstop1 = 20160008 and then for the next one etc..). I tried this loop but i receive only one value for y, x1, x2, and an error for X. I expect to have the same length of (for example) 20160008 for these variables.
Can someone help me?
IDstop1 = A1(:,1);
Rmean_pred1 = A1(:,15);
Rmean_obs1 = A1(:,14);
Zero1 = A1(:,3)
k = unique(IDstop1);
for i= 1:length(k)
y = Rmean_pred1(i);
x1 = Rmean_obs1(i);
x2 = Zero1(i);
X = [ones(size(x1(i))) x1(i) x2(i)];
b = regress(y,X)
end
0 commentaires
Réponse acceptée
Jan
le 22 Fév 2019
Modifié(e) : Jan
le 22 Fév 2019
Maybe you want:
k = unique(IDstop1);
result = cell(1, numel(k));
for i = 1:numel(k)
index = (IDstop1 == k(i));
y = Rmean_pred1(index);
x1 = Rmean_obs1(index);
x2 = Zero1(index);
X = [ones(size(x1)), x1, x2];
b = regress(y, X);
result{i} = b;
end
4 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Linear Regression dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!