Hello, i have a table with many rows and 3 columns. In the first column some values are NaN. How can i put NaN values in the other columns in the same rows?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Christina Geo
el 7 de Jul. de 2021
Respondida: dpb
el 7 de Jul. de 2021
for example
A =
A1 A2 A3
___ __ __
NaN 4 7
NaN 5 8
3 6 9
and I would like to have
A =
A1 A2 A3
___ __ __
NaN NaN NaN
NaN NaN NaN
3 6 9
0 comentarios
Respuesta aceptada
Más respuestas (2)
dpb
el 7 de Jul. de 2021
Use logical indexing; no loops needed --
>> A{isnan(A.A1),:}=nan
A =
3×3 table
A1 A2 A3
___ ___ ___
NaN NaN NaN
NaN NaN NaN
3 6 9
>>
NB: the "curlies" to return an array from the indexing operation on the LHS, smooth parens here would return a table instead.
See the documentation for the table class for a detailed exposition on addressing modes and syntax for tables--there's a "veritable plethora" of ways to do so.
0 comentarios
Soniya Jain
el 7 de Jul. de 2021
Editada: Soniya Jain
el 7 de Jul. de 2021
Hey, you can use isnan() function to find the location where values are NaN in the 1st column,
A = [NaN,4,7; NaN,5,8; 3,6,9];
nanV = isnan(A(:,1));
for i=1:height(A)
if nanV(i,1) == 1
A(i,:) = NaN;
end
end
0 comentarios
Ver también
Categorías
Más información sobre NaNs 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!