# Extract data above threshold from groups

2 Ansichten (letzte 30 Tage)
Elin Jacobs am 4 Mai 2022
Bearbeitet: Elin Jacobs am 5 Mai 2022
I'm trying to extract the y-data that fall into groups (bins) on the x -axis. Ideally, I want to set any y-values that are below the 90th percentile whitin a group to NaN (i.e. I want the end result to be a 6113x1 vector). I have started the following code to bin into groups , but now I am stuck.
edges = (min(pp):20:max(pp));
[N, edges, bin] = histcounts(pp, edges);
figure
gscatter(pp,cc,bin)
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Chunru am 5 Mai 2022
edges = (min(pp):20:max(pp));
[N, edges, bin] = histcounts(pp, edges);
figure
gscatter(pp,cc,bin)
%whos
y= pp;
ugroups = unique(bin);
for i=1:length(ugroups)
idx = bin == ugroups(i); % data index for the group
if ugroups(i) == 0 % not assigned to any group
y(idx) = nan;
else
ybin = y(idx);
pct = prctile(ybin, 90); % 90 percentile
ybin(ybin>pct) = nan;
y(idx) = ybin;
end
end
[N1, edges, bin] = histcounts(y, edges);
figure
gscatter(pp,cc,bin)
% whos
figure
plot(1:32, N, 'r', 1:32, N1, 'b')
sum(N)
ans = 6105
sum(N1)
ans = 5498
##### 1 KommentarKeine anzeigenKeine ausblenden
Elin Jacobs am 5 Mai 2022
Bearbeitet: Elin Jacobs am 5 Mai 2022
Thank you very much!

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Exploration and Visualization finden Sie in Help Center und File Exchange

R2016a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by