Как реструктурировать данные в SPSS Modeler?

Не могли бы вы дать совет по реструктуризации данных, чтобы получить структуру данных, которую можно использовать для моделирования временных рядов в SPSS Modeler?

Например (в настоящее время имеет структуру ниже)

ID  Period  Value
ABC  1      100
ABC  2      110
DEF  1      50
DEF  2      50
DEF  3      60
GHJ  5      200

(необходимая структура)

Period ABC DEF GHJ
1      100     50
2      110 50
3          60
5              200

Я думал об использовании узла Transpose, но он не работает для такого случая, поэтому я использовал узел SetToFlag, а затем Transpose, но затем нужно как-то заменить значения T / F на значения для соответствующего периода / ID.

Я очень ценю любую помощь / совет. Заранее большое спасибо.

1 ответ

Я предлагаю следующую процедуру с реструктуризацией + агрегатом:

  1. В узле TYPE установите "ID" в качестве номинального и "Чтение значений"
  2. Используйте узел RESTRUCTURE с "ID", переместите его категории в "Создание реструктурированных полей", установите переключатель в положение "использовать значения из других полей" и выберите переменную "Значение"
  3. Используйте AGGREGATE, установите ключ как "Period" и выберите нужные поля для агрегирования, например, "ABC", "DEF", "GHJ". Совокупные средства (или max, min, это не имеет значения)
  4. Переименуйте новые переменные с помощью узла FILTER, чтобы избавиться от суффиксов. (Это может раздражать множество переменных, это может быть преодолено с помощью сценария или хитрого использования RESTRUCTURE, MERGE, value_at(), @FIELDS_BETWEEN(), но это гораздо сложнее объяснить и, вероятно, сейчас не нужно.)

Примечание: 3-я строка вашего примера должна быть:

GHJ 1 50

или это не соответствует желаемой структуре.

Другие вопросы по тегам