How to assign Nans to specific column, not entire row
20 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Tanika Bawa
il 11 Mar 2022
Commentato: Scott MacKenzie
il 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 Commenti
Risposta accettata
Scott MacKenzie
il 11 Mar 2022
Modificato: Scott MacKenzie
il 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!