if column 1 is nan, make corresponding number in column2 nan
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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;
0 Kommentare
Antworten (2)
Cel Kulasekaran
am 30 Sep. 2022
Bearbeitet: Cel Kulasekaran
am 30 Sep. 2022
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;
0 Kommentare
Kevin Holly
am 30 Sep. 2022
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;
0 Kommentare
Siehe auch
Kategorien
Mehr zu Octave 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!