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

3 views (last 30 days)
Agnese Chini
Agnese Chini on 17 May 2022
Answered: Nihal Reddy on 3 Jun 2022
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.

Community Treasure Hunt

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

Start Hunting!