Replace missing values in a row with the set of all possible values in that row for a data table.
1 次查看(过去 30 天)
显示 更早的评论
If I have a large dataset and there are some missing values in each row. I want to repalace missing values of a row with the set of all possible values of that row. How can I do so?
2 个评论
Bob Thompson
2019-2-1
I want to repalace missing values of a row with the set of all possible values of that row.
I'm a little confused. Do you want to replace each value with a set of values, replace all missing values with an equal number of possible values, or just attach all possible values at the end?
采纳的回答
Stephan
2019-2-2
Hi,
the following script should do what you want:
% set options and import data
opts = spreadsheetImportOptions("NumVariables", 5);
opts.Sheet = "Sheet1";
opts.DataRange = "B2:F6";
opts.VariableTypes = ["double", "double", "double", "double", "double"];
Data = readtable("example.xlsx", opts, "UseExcel", false);
Data_new = table2cell(Data);
% manipulate data the way you wish
for k = 1:size(Data,2)
[r, ~] = find(isnan(Data{:,k}));
c = unique(Data{:,k});
c(isnan(c)) = [];
for d = 1:numel(r)
Data_new{r(d),k} = c';
end
end
% clean up
clear opts Data c d r k
The resulting cell array can be seen here:
Best regards
Stephan
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Preprocessing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!