Если x
- это кадр данных с вашими данными, то следующее будет делать то, что вы хотите:
require(reshape)
recast(x, Category ~ ., fun.aggregate=sum)
Microsoft. Xna. Платформа (поставляют этот XNA) могла сделать работу.
библиотека XNA Framework Math имеет несколько основных геометрических типов, которые могут использоваться для управления объектами в 2D или 3D пространстве. Элементарные объекты в этой библиотеке представляют данные, требуемые представить геометрический объект или операцию на том объекте. Каждый геометрический тип начинает много математических операций, которые поддерживаются для типа.
Вектор
Платформа XNA обеспечивает Vector2, Vector3 и классы Vector4 для представления и управления векторами. Вектор обычно используется для представления направления и величины. Однако в платформе XNA это могло бы также использоваться для хранения координаты или некоторого другого типа данных с теми же требованиями устройства хранения данных.
Каждый векторный класс имеет методы для выполнения стандартных векторных операций, таких как:
- Скалярное произведение
- Векторное произведение
- Нормализация
- Преобразование
- Линейный, Кубический, Catmull-Rom или интерполяция шлица Hermite.
Матрицы
Платформа XNA обеспечивает Матричный класс для преобразования геометрии. Матричный класс использует строку главный порядок обратиться к матрицам, что означает, что строка определяется перед столбцом при описании элемента двумерной матрицы. Матричный класс предоставляет методы для выполнения стандартных операций над матрицей, таких как вычисление определенного или инверсии матрицы, в дополнение к вспомогательным методам для создания масштаба, перевода и матриц вращения.
Кватернионы
Платформа XNA обеспечивает структуру Кватерниона, чтобы представить и вычислить эффективное вращение вокруг вектора вокруг указанного угла.
Попробуйте Scinet Linea в www.obacs.com . Это не свободная библиотека, но по сравнению с альтернативами это не очень дорогой ww
Scinet Linea больше не доступен на www.obacs.com. Теперь он входит в состав Scinet Math, у которого гораздо больше возможностей. Я купил копию для своего исследования месяц назад. Мне пока нравится.
Я никогда не использовал его раньше, но я просто схватил Sharp3D, и, похоже, хорошо работает (кроме некоторых вопросов о сильных именах, которые заняли несколько минут, чтобы работать). Мое впечатление состоит в том, что это не совсем легкий вес, но далеко не на тяжелой стороне.
Недавние обновления, это не похоже на математику меняется или что-нибудь ...