Change value of corresponding column depending on conditions

17 Ansichten (letzte 30 Tage)
Helllo! I have a 23000x14 table of data. Im trying to do something where I go through all of the values in column 10 and if it column 10 gives the value of 15 then the same row that has that values of 15 but in column 9 gets changed to 'NA'. So for exmaple:
Original
5 4
45 15
32 6
After
5 4
NA 15
32 6
I've tried a few things but nothing has worked for me so far. Any help is greatly appreciated, thank you!

Akzeptierte Antwort

KSSV
KSSV am 1 Jun. 2020
You cannot put NA, but you can replace that with NaN. Try this.
A = [5 4
45 15
32 6] ;
idx = A(:,2)==15 ; % get logical indices of second column which has 15
A(idx,1) = NaN ; % replace the first column with NaN which has 15 in the second column
  3 Kommentare
KSSV
KSSV am 1 Jun. 2020
If it is table, you should be able to add NA....make it a string and try to add..
station001_eus{idx,9}= 'NA';
Claire Hollow
Claire Hollow am 1 Jun. 2020
Ok so now I did try that
idx=station001_eus{:,10}==(',,7');
station001_eus{idx,9}='NA';
and im getting the error
The value on the right-hand side of the assignment
has the wrong width. The assignment requires a
value whose width is 1.
for the second line again. Im not sure how to work past this.
Sorry for the all the questions, you've been super helpful!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements 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!

Translated by