How to convert continuous variable into discrete variables?
Mostra commenti meno recenti

I am looking for the help !!
I have 5000 rows of data points for three variables (independent variables-X1,x2,x3 and dependent variables Y). The x1 and x2 are discreate variables in fix steps. However, the X3 variables is countinous ranges from 0-0.6. I want to transfrom this varibles in steps of 0.05 upto 0.6 total in 12 steps and corroespoing value of Y variables should be mean of all values correspond between 0- 0.05 and so.
Well, i tried with find(x3<0.05) and got the index of all values which is less than 0.05. but struggling to compute mean(y) for the indices, mostly they are continous.
Plz help me.
Risposta accettata
Più risposte (3)
Alan Stevens
il 23 Ago 2020
Does the following do what you want?
X3 = 0:0.05:0.6;
Ydiscrete = zeros(length(X3));
for i = 2:length(X3)
ix = find(X3(i-1)<=x3<X3(i));
Ydiscrete(i) = mean(Y(ix));
end
Untested, as I don't have the data!
1 Commento
Chetan Badgujar
il 24 Ago 2020
Alan Stevens
il 24 Ago 2020
How about this
load('DATA.mat');
X3(1) = []; % the first values for X3 and Y are NaNs, so they are removed here
Y(1) = [];
x3 = (0:0.05:0.6)';
Ydiscrete = zeros(length(x3),1);
for i = 2:length(x3)
ix = find(x3(i-1)<=X3<x3(i));
Ydiscrete(i) = mean(Y(ix));
end
plot(x3,Ydiscrete,'o')
Cris LaPierre
il 24 Ago 2020
Modificato: Cris LaPierre
il 26 Ago 2020
0 voti
3 Commenti
Chetan Badgujar
il 24 Ago 2020
Chetan Badgujar
il 24 Ago 2020
Chetan Badgujar
il 24 Ago 2020
Categorie
Scopri di più su Resampling Techniques in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
