필터 지우기
필터 지우기

if column 1 is nan, make corresponding number in column2 nan

조회 수: 1 (최근 30일)
C.G.
C.G. 2022년 9월 30일
편집: Cel Kulasekaran 2022년 9월 30일
I have the code below which randomly assigns 10% of the dataset to Nan. However this only turns column 1 to NaN. How can I make the corresponding number in column 2 also NaN?
Period = [1:1:100]';
F = [201:1:300]';
A=[Period F]; % a random matrix
Data = A;
percent_miss = 0.1;
nTime = length(Period);
Data(randperm(nTime,round(nTime*percent_miss))) = NaN;

답변 (2개)

Cel Kulasekaran
Cel Kulasekaran 2022년 9월 30일
편집: Cel Kulasekaran 2022년 9월 30일
Re-writing your code, with suggestion:
Period = 1:100;
F = 201:300;
A = [Period', F']; % a random matrix
Data = A;
percent_miss = 0.1;
nTime = length(Period);
% adding this step for illustrative clarity
updateRows2NaN = randperm(nTime,round(nTime*percent_miss));
% you will want to apply this row-wise operation (i.e. across all columns)
Data(updateRows2NaN, :) = nan;

Kevin Holly
Kevin Holly 2022년 9월 30일
Period = [1:1:100]';
F = [201:1:300]';
A=[Period F]; % a random matrix
Data = A;
percent_miss = 0.1;
nTime = length(Period);
Data(randperm(nTime,round(nTime*percent_miss))) = NaN;
LogicalofNans = isnan(Data(:,1));
Data(LogicalofNans,2)=nan;

카테고리

Help CenterFile Exchange에서 Random Number Generation에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by