How to assign Nans to specific column, not entire row
20 views (last 30 days)
Show older comments
Tanika Bawa
on 11 Mar 2022
Commented: Scott MacKenzie
on 11 Mar 2022
Hello!
I am trying to assign NaNs to values under 0.95, but only for the rows in column 4, not all of the columns.
Before, I used:
ZB1array = table2array(ZB1);
idx = ZB1array(:,4) < 0.95;
ZB1array(idx,: ) = NaN;
This successfully assigned NaNs, but to the entire row. In order to assign them to rows only in column 4 I tried:
ZB1array(idx, ZB1array(:,4)) = NaN;
But this returns the error 'Index in position 2 is invalid. Array indices must be positive integers or logical values.'
Does anyone know what I should do? Thanks!
0 Comments
Accepted Answer
Scott MacKenzie
on 11 Mar 2022
Edited: Scott MacKenzie
on 11 Mar 2022
Your first attempt was almost correct. Here's the fix:
ZB1array = rand(5,5) % test data
idx = ZB1array(:,4) < 0.95;
ZB1array(idx,4) = NaN % must specify column 4
2 Comments
More Answers (0)
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!