how do I create this loop?

1 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2018-10-31
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 个评论
Susan Santiago
Susan Santiago 2018-10-31
This is perfect, thanks so much!
Star Strider
Star Strider 2018-10-31
As always, my pleasure!

请先登录,再进行评论。

更多回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by