How can I replace the value of an outlier rather than delete it?

4 views (last 30 days)
Hi! I have used this method to find and eliminate the outliers from a gaussian feature of my data set:
figure;
plot(Fetal_table.mean_value_of_short_term_variability) %Fetal_table is the table of all the features in the data set and table.mean_value_of_short_term_variability is the gaussian features in which I want to work on the outliers
histogram(Fetal_table.mean_value_of_short_term_variability)
figure;
vec_out = isoutlier(Fetal_table.mean_value_of_short_term_variability,"grubbs");
figure
plot(Fetal_table.mean_value_of_short_term_variability, "og"); hold on;
Fetal_table(vec_out,:)=[]; %with that I'm deleting the outliers but I want to substitute them with a value of interest
  1 Comment
Mathieu NOE
Mathieu NOE on 17 May 2022
hello
simply put the required value instead of [] (obvious answer)
it depends of course of what you mean by "value of interest" (interpolation, fixed value ,...)
is it a fixed value computed from somewhere else in your code ? if that is the case , doing the substitution is rather straigthforward
Fetal_table(vec_out,:) = new_value(s); % I want to substitute outliers with a value of interest

Sign in to comment.

Answers (1)

Nihal Reddy
Nihal Reddy on 3 Jun 2022
I understand you want to eliminate the outliers from a gaussian feature of the data set.
Fetal_table(vec_out,:) = [];
In the above line of code you can just replace the “[]” with variable “value_of_interest” like this
Fetal_table(vec_out,:) = value_of_interest;
The variable “value_of_interest” can be scalar or vector depending on your need.

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!