Only Changing NaN values of a vector

1 visualización (últimos 30 días)
Elizabeth Drybrugh
Elizabeth Drybrugh el 2 de Abr. de 2018
Editada: Walter Roberson el 22 de Abr. de 2018
I want to access (202 elements) from vec A and check if isnan and change these but keep my normal values. Code to change all elements;
A = smooth(A, 'lowess'); %I want to change only NaNs
keepInA = zeros(size(all_behav(:,1))); %created new vec
for i = 1:size(A) %search 202 rows
mem = i(:,1) == isnan; %try find isnan ---- not working (showing 202 0s)
end
I haven't made much progress, pretty bad at loops any help appreciated

Respuesta aceptada

Elizabeth Drybrugh
Elizabeth Drybrugh el 22 de Abr. de 2018
Editada: Walter Roberson el 22 de Abr. de 2018

I am not sure if I mentioned this but changing to 0 does not help as I am using N-1 cross validation and in the literature it is not regarded as a 'suitable' method of solving the problem.

https://uk.mathworks.com/matlabcentral/fileexchange/67013-dummy-rep-nan-x-?focused=9163520&tab=function

I created my own function to solve it which works by creating a dummy vector of the same size, std and mean to then replace NaN with acceptable values. Posting this for anyone who comes across this question in google.

Cheers, walter for a response

:)

Más respuestas (1)

Walter Roberson
Walter Roberson el 2 de Abr. de 2018
A( isnan(A) ) = 0; %if you are changing them to 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