Change value of corresponding column depending on conditions

7 visualizaciones (últimos 30 días)
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!

Respuesta aceptada

KSSV
KSSV el 1 de Jun. de 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 comentarios
KSSV
KSSV el 1 de Jun. de 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 el 1 de Jun. de 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!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by