How do I remove NaN's from my data?

29 views (last 30 days)
Sarah Mullin
Sarah Mullin on 22 Feb 2021
Commented: Walter Roberson on 22 Feb 2021
I was given a csv file and I used this code below to read it:
clear;
fclose all;
fileID = fopen('accidents_2017.csv');
text1 = textscan(fileID,'%s%s%s%s%s%s%d%d%s%d%d%d%d%f%f','HeaderLines',1,'Delimiter',{','},'EmptyValue',NaN);
fclose(fileID);
How do I plot this data? My teacher never gave a function of how to plot with data values. I already converted all the data into numbers using str2double(text1). What should I do?

Answers (2)

the cyclist
the cyclist on 22 Feb 2021
If your numeric vector is called "x", then
x(isnan(x)) = [];
will remove the NaN values.
  7 Comments
Image Analyst
Image Analyst on 22 Feb 2021
Try readmatrix() instead of fopen(), textscan(), and fclose().
Walter Roberson
Walter Roberson on 22 Feb 2021
As this is roughly the 4th or 5th posting on the same topic:
as far as I have been able to determined, this is an assignment and the poster is required to use textscan() with the format indicated, even though it is not the best tool.

Sign in to comment.


Walter Roberson
Walter Roberson on 22 Feb 2021
Don't use
str2double(text1)
Use
str2double(text1{1})
replacing the 1 with 2, 3, 4, 5, 6, or 9 as needed (the column number to extract.)

Community Treasure Hunt

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

Start Hunting!