Манипуляции с данными (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