Добро пожаловать в SO!
Позвольте мне попытаться «разобрать» ваш вопрос для ясности.
Вы хотите сгенерировать переменную UAPDL в зависимости от значения двух различных переменных (maxIglesias_1 и maxRivera_1, которые, скажем, соответствуют значениям f (I) и f (R) соответственно). Здесь я отмечаю, что согласно фрагменту кода, который вы опубликовали, нет гарантии, что две переменные являются взаимоисключающими, т.е. у вас могут быть записи с maxIglesias_1 == 1 И maxRivera_1 == 1. В этих случаях порядок в котором вы запускаете команды, имеет значение, поскольку все они в конечном итоге получают значение f (R) или f (I), если вы их перекручиваете.
Однако, чтобы реплицировать опубликованные вами команды Stata (проблема с включенным порядком!), Вы должны запустить
UAPDL_1 <- numeric(length(maxIglesias_1)) # generate the vector
UAPDL_1[maxIglesias_1 == 1] <- f(I)
UAPDL_1[maxRivera_1 == 1] <- f(R)
, где я предполагаю, что maxIglesias_1
и maxIglesias_1
являются два объекта R той же длины, что и исходная матрица Stata.
Удачи!