How to assign Nans to specific column, not entire row
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Tanika Bawa
am 11 Mär. 2022
Kommentiert: Scott MacKenzie
am 11 Mär. 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 Kommentare
Akzeptierte Antwort
Scott MacKenzie
am 11 Mär. 2022
Bearbeitet: Scott MacKenzie
am 11 Mär. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!