Компьютерная алгебра в программе Mathematica 4

         

Манипуляции с данными — DataManipulation



Манипуляции с данными — DataManipulation

Статистические данные обычно бывают представлены в виде списков — как одномерных, так и двумерных (таблиц и матриц) и даже многомерных. Большая часть функций, обеспечивающих манипуляции с данными, сосредоточена в подпакете DataManipulation.

Данные могут вводиться в строках ввода или считываться из файлов с помощью функции ReadList. Для манипуляций с данными могут использоваться многие функции ядра системы, описанные ранее, — в частности, все функции обработки списков. Подпакет DataManipulation дает ряд удобных функций. Ниже представлена первая группа таких функций:

  • Column [data, n] — возвращает n-й столбец списка data;
  • Column [data, {nl, n2,...}] — возвращает список из столбцов ni списка данных;


  • ColumnTake [data, spec] — возвращает столбцы списка data с данной спецификацией spec;
  • ColumnDrop [data, spec] — удаляет столбцы списка data с данной спецификацией spec;
  • Column Jo in [datal, data2,...] — объединяет столбцы списков datai;
  • RowJoin [datal, data2,...] — объединяет строки списков datai;
  • DropNonNumeric [data] — удаляет из списка data нечисловые элементы;
  • DropNonNumericColumnfdata] — удаляет из списка data столбцы с нечисловыми элементами.
Примеры применения этих функций:

<<Statistics`DataManipulation `

data = {{а, 3}, {b, 6}, {с, 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









Содержание раздела