Мне нужно отсортировать несколько маленьких матриц из 1 огромной необработанной матрицы ... в соответствии с сортировкой 1-го столбца (1-й столбец содержит 1, 2 или 3) ...
если 1-й столбец равен 1, то случайным образом 75% от 1 сохраняются в файле A1, 25% от 1 сохраняются в файле A2.
если 1-й столбец равен 2, то случайным образом 75% от 2 сохраняются в файле B1, 25% от 2 сохраняются в файле B2.
если 1-й столбец равен 3, то случайным образом 75% от 3 сохраняются в файле C1, 25% от 3 сохраняются в файле C2.
как мне написать код?
Пример:
необработанная матрица имеет 15 строк x 6 столбцов:
7 строк - 1 в 1-м столбце, 5 строк - 2 в 1-м столбце, а 3 строки - 3 в 1-м столбце.
1 -0.05 -0.01 0.03 0.07 0.11
1 -0.4 -0.36 -0.32 -0.28 -0.24
1 0.3 0.34 0.38 0.42 0.46
1 0.75 0.79 0.83 0.87 0.91
1 0.45 0.49 0.53 0.57 0.61
1 0.8 0.84 0.88 0.92 0.96
1 0.05 0.09 0.13 0.17 0.21
2 0.5 0.54 0.58 0.62 0.66
2 0.4 0.44 0.48 0.52 0.56
2 0.9 0.94 0.98 1.02 1.06
2 0.85 0.89 0.93 0.97 1.01
2 0.75 0.79 0.83 0.87 0.91
3 0.36 0.4 0.44 0.48 0.52
3 0.6 0.64 0.68 0.72 0.76
3 0.4 0.44 0.48 0.52 0.56
7 строк получили 1 в 1-м столбце, случайным образом вынимают 75% из 7 строк (что составляет 7 * 0,75 = 5,25), чтобы быть новой матрицей (5 рядов x 6 столбцов), остальные 25% становятся другой новой матрицей
5 строк получили 2 в 1-м столбце, случайным образом вынимают 75% из 5 строк (что составляет 5 * 0,75 = 3,75) в качестве новой матрицы (4 строки x 6 столбцов), остальные 25% становятся еще одной новой матрицей
3 строки получили 3 в 1-м столбце, случайным образом вынимают 75% из 3 строк (что составляет 3 * 0,75 = 2,25), чтобы быть новой матрицей (2 ряда x 6 столбцов), остальные 25% становятся другой новой матрицей
Результат:
A1=
1 -0.4 -0.36 -0.32 -0.28 -0.24
1 0.3 0.34 0.38 0.42 0.46
1 0.75 0.79 0.83 0.87 0.91
1 0.8 0.84 0.88 0.92 0.96
1 -0.05 -0.01 0.03 0.07 0.11
B1=
2 0.9 0.94 0.98 1.02 1.06
2 0.85 0.89 0.93 0.97 1.01
2 0.5 0.54 0.58 0.62 0.66
2 0.75 0.79 0.83 0.87 0.91
C1=
3 0.36 0.4 0.44 0.48 0.52
3 0.4 0.44 0.48 0.52 0.56