how do I create this loop?

4 views (last 30 days)
Susan Santiago
Susan Santiago on 31 Oct 2018
Commented: Star Strider on 31 Oct 2018
I have a timetable that I'm converting to an array. Some of the columns are NaNs so initially, I just changed the columns to zeros before converting it but I don't want to do this since not all values in the column are necessarily NaNs and I don't want to lose that possible data. I was thinking of creating a loop so that if the values are NaNs, it'll be changed to a zero and if the value is something else, it'll be left alone. This is what I tried writing for a column called G
for c = 1:length(TT(:,'G'))
if TT(c,'G')= nan
TT(c,'G') = 0;
else
TT(c,'G') = TT(c,'G');
end
I know i'm calling the if function wrong but i'm not sure how to fix it. if statements always trip me up for some reason

Accepted Answer

Star Strider
Star Strider on 31 Oct 2018
It might be easier to use the timetable2table (link) function, then the table2array (link) function.
I have no idea if this would work with your data. You will have to experiment.
  6 Comments
Susan Santiago
Susan Santiago on 31 Oct 2018
This is perfect, thanks so much!
Star Strider
Star Strider on 31 Oct 2018
As always, my pleasure!

Sign in to comment.

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 31 Oct 2018
Edited: Andrei Bobrov on 31 Oct 2018
zrs = zeros(size(TT,1),1);
TT.G = zrs;
TT.SG = zrs;
  3 Comments
Andrei Bobrov
Andrei Bobrov on 31 Oct 2018
I am fixed my answer.
Susan Santiago
Susan Santiago on 31 Oct 2018
This would just change the whole column to zeros wouldn't it? I explained that that's not what I want to do

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!