Я преобразовал свои данные в широкий формат, используя функцию mlogit.data, чтобы иметь возможность выполнить многочленную логит-регрессию mlogit в R. Данные имеют три различных «выбора» и выглядят так (в широком формате):
Observation Choice Variable A Variable B Variable C
1 1 1.27 0.2 0.81
1 0 1.27 0.2 0.81
1 -1 1.27 0.2 0.81
2 1 0.20 0.45 0.70
2 0 0.20 0.45 0.70
2 -1 0.20 0.45 0.70
Однако, поскольку переменные A, B и C связаны с различными результатами, я бы сейчас хотел создать новую переменную, которая выглядит следующим образом:
Observation Choice Variable A Variable B Variable C Variable D
1 1 1.27 0.2 0.81 1.27
1 0 1.27 0.2 0.81 0.2
1 -1 1.27 0.2 0.81 0.81
2 1 0.20 0.45 0.70 0.20
2 0 0.20 0.45 0.70 0.45
2 -1 0.20 0.45 0.70 0.70
Я пробовал следующий код:
Variable D <- ifelse(Choice == "1", Variable A, ifelse(Choice == "-1", Variable B, Variable C))
Однако функция ifelse рассматривает только один выбор из каждого наблюдения, создавая это:
Observation Choice Variable A Variable B Variable C Variable D
1 1 1.27 0.2 0.81 1.27
1 0 1.27 0.2 0.81 -
1 -1 1.27 0.2 0.81 -
2 1 0.20 0.45 0.70 -
2 0 0.20 0.45 0.70 0.2
2 -1 0.20 0.45 0.70 -
Кто-нибудь знает, как решить эту проблему?
Спасибо!