Splitting a table to 2
6 ビュー (過去 30 日間)
古いコメントを表示
Hello all, I have a table named A. I want to split it into 2 sub-tables: Table 1 has 60% of the rows in A, chosen randomly. Table 2 has all the other rows that are not in table 1. Any elegant idea on how to do this?
0 件のコメント
採用された回答
KL
2017 年 8 月 16 日
dummy = 10*rand(10,4);
T = array2table(dummy)
ranRows = randperm(length(dummy));
T1 = T(ranRows(1:(0.6*length(dummy))),:)
T2 = T(ranRows((0.6*length(dummy))+1:end),:)
2 件のコメント
Guillaume
2017 年 8 月 16 日
ranrows = randperm(height(T));
T1 = T(ranRows(1:0.6*height(T)), :);
T2 = T(ranRows(0.6*height(T)+1:end), :);
To avoid a warning, I would also wrap the 0.6*height(T) calculation inside a ceil, a floor or a round.
その他の回答 (2 件)
Sean de Wolski
2017 年 8 月 16 日
If you're looking to split your data into a training and testing set, then it might pay to look at cvpartition as well, it provides more options for splitting tables.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Tables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!