How to convert continuous variable into discrete variables?
Ältere Kommentare anzeigen

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.
Akzeptierte Antwort
Weitere Antworten (3)
Alan Stevens
am 23 Aug. 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 Kommentar
Chetan Badgujar
am 24 Aug. 2020
Alan Stevens
am 24 Aug. 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
am 24 Aug. 2020
Bearbeitet: Cris LaPierre
am 26 Aug. 2020
0 Stimmen
3 Kommentare
Chetan Badgujar
am 24 Aug. 2020
Chetan Badgujar
am 24 Aug. 2020
Chetan Badgujar
am 24 Aug. 2020
Kategorien
Mehr zu Resampling Techniques finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
