Манипуляции с данными (DataManipulation)
Статистические данные обычно бывают представлены в виде списков – как одномерных, так и двумерных (таблиц и матриц) и даже многомерных. Большая часть функций, обеспечивающих манипуляции с данными, сосредоточена в подпакете DataManipulation.
Данные могут вводиться в строках ввода или считываться из файлов с помощью функции ReadList. Для манипуляций с данными могут использоваться многие функции ядра системы, описанные ранее, – в частности, все функции обработки списков. Подпакет DataManipulation дает ряд удобных функций. Ниже представлена первая группа таких функций:
- Column [data, n] – возвращает n-й столбец списка data;
- Column [data, {n1, n2,…}] – возвращает список из столбцов ni списка данных;
- ColumnTake [data, spec] – возвращает столбцы списка data с данной спецификацией spec;
- ColumnDrop [data, spec] – удаляет столбцы списка data с данной спецификацией spec;
- Column Jo in [data1, data2,…] – объединяет столбцы списков datai;
- RowJoin [datal, data2,…] – объединяет строки списков datai;
- DropNonNumeric [data] – удаляет из списка data нечисловые элементы;
- DropNonNumericColumnfdata] – удаляет из списка data столбцы с нечисловыми элементами.
Примеры применения этих функций:
<<Statistics`DataManipulation `   data = {{a, 3}, {b, 6}, {c, 4}, {d, i}, {e, 5}, {i 4}} {{a, 3}, {b, 6}, {c, 4}, {d, i}, {e, 5), {f, 4}}   col2 = Column[data, 2] {3, 6, 4/i, 5, 4}   newdata = DropNonNumeric[col2] {3, 6, 4, 5, 4}Полезны также следующие функции подпакета:
- BooleanSelect [list, sel] – удаляет из list элементы, которые дают True при тестировании выражения sel;
- TakeWhile [list,pred] – удаляет из list все элементы, начиная с того, для которого pred дает True;
- LengthWhile [list,pred] – возвращает число элементов, которые были удалены после того, как pred дало значение True (отсчет с начала списка).
Примеры применения этих функций:
TakeWhile[col2, NumberQ] (3.6, 4}   LengthWhile[col2, NumberQ] 3