Вопрос
Каков правильный способ структурирования многомерных данных с категориальными метками, накопленными в ходе повторных испытаний для исследовательского анализа в R? Я не хочу возвращаться к MATLAB.
Описание
Я люблю функцию R анализа и синтаксис (и ошеломляющие графики) гораздо лучше, чем MATLAB, и упорно работал, чтобы реорганизовать свой материал снова. Тем не менее, я все время зацикливаюсь на том, как организованы данные в моей работе.
MATLAB
Для меня типично работать с многомерными временными рядами, повторяющимися во многих испытаниях, которые хранятся в большом массиве matrix ранг-3 тензор многомерного массива SERIESxSAMPLESxTRIALS. Это время от времени поддается какой-то хорошей линейной алгебре, но неуклюже, когда дело касается другой переменной, а именно CLASS. Обычно метки классов хранятся в другом векторе размера 1x TRIALS
.
Когда дело доходит до анализа, я в основном задумываюсь как можно меньше, потому что требуется много работы, чтобы собрать действительно хороший сюжет, который учит вас многому о данных в MATLAB. (Я не единственный, кто так чувствует себя).
R
В R я придерживался как можно ближе к структуре MATLAB, но все становится раздражающе сложным, пытаясь сохранить разметку класса отдельно; Мне пришлось бы продолжать передавать метки в функции, хотя я использую только их атрибуты. Итак, я сделал отдельный массив в списке массивов с помощью CLASS. Это добавляет сложности ко всем моим apply()
функциям, но, кажется, стоит того, чтобы поддерживать согласованность (и ошибки).
С другой стороны, R просто не кажется дружелюбным с тензорами/многомерными массивами. Чтобы работать с ними, вам нужно захватить библиотеку abind
. Документация на многомерный анализ, как этот пример, кажется, работает в предположении, что у вас есть огромная 2-D таблица данных, например какая-то длинная средневековая прокрутка кадр данных и не упоминает, как получить "там", откуда я.
Как только я добираюсь до построения и классификации обработанных данных, это не такая большая проблема, так как к тому времени я проделал свой путь к структурам, дружественным к фреймворкам, с такими формами, как TRIALSxFEATURES (melt
помог много с это). С другой стороны, если я хочу быстро создать матрицу рассеянного экрана или гистограмму решетки для исследовательской фазы (т.е. статистические моменты, разделение, дисперсия между классами, гистограммы и т.д.), Я должен остановиться и выяснить, как Я собираюсь apply()
эти огромные многомерные массивы во что-то, что понимают эти библиотеки.
Если я продолжаю стучать в джунглях, придумывая специальные решения для этого, я либо никогда не поправимся, либо у меня появятся мои собственные странные волшебные способы сделать это, которые не делают смысл кому-либо.
Итак, какой правильный способ структурировать многомерные данные с категориальными метками, накопленными в ходе повторных испытаний для исследовательского анализа в R? Пожалуйста, я не хочу возвращаться к MATLAB.
Бонус: Я склонен повторять эти анализы по идентичным структурам данных для нескольких субъектов. Есть ли лучший общий способ, чем обертывание фрагментов кода в циклы for
?