Filter löschen
Filter löschen

Only Changing NaN values of a vector

4 Ansichten (letzte 30 Tage)
Elizabeth Drybrugh
Elizabeth Drybrugh am 2 Apr. 2018
Bearbeitet: Walter Roberson am 22 Apr. 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

Akzeptierte Antwort

Elizabeth Drybrugh
Elizabeth Drybrugh am 22 Apr. 2018
Bearbeitet: Walter Roberson am 22 Apr. 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

:)

Weitere Antworten (1)

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

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by