Change value of corresponding column depending on conditions

6 views (last 30 days)
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!

Accepted Answer

KSSV
KSSV on 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 Comments
KSSV
KSSV on 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 on 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!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!