필터 지우기
필터 지우기

Only Changing NaN values of a vector

조회 수: 4 (최근 30일)
Elizabeth Drybrugh
Elizabeth Drybrugh 2018년 4월 2일
편집: Walter Roberson 2018년 4월 22일
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

채택된 답변

Elizabeth Drybrugh
Elizabeth Drybrugh 2018년 4월 22일
편집: Walter Roberson 2018년 4월 22일

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

:)

추가 답변 (1개)

Walter Roberson
Walter Roberson 2018년 4월 2일
A( isnan(A) ) = 0; %if you are changing them to 0.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by