Effacer les filtres
Effacer les filtres

Only Changing NaN values of a vector

4 vues (au cours des 30 derniers jours)
Elizabeth Drybrugh
Elizabeth Drybrugh le 2 Avr 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

Réponse acceptée

Elizabeth Drybrugh
Elizabeth Drybrugh le 22 Avr 2018
Modifié(e) : Walter Roberson le 22 Avr 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

:)

Plus de réponses (1)

Walter Roberson
Walter Roberson le 2 Avr 2018
A( isnan(A) ) = 0; %if you are changing them to 0.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by