Я хочу соответствовать регрессии, где результатом являются единицы продаж, а предикторами являются цены на журнал. Я хочу рассчитать эластичность.
Однако у меня есть 2 переменные, одна - обычная цена и другая цена продвижения. И я хотел бы иметь две отличные эластичности. Однако в моем наборе данных обе цены всегда присутствуют, я имею в виду, что когда продукт не находится в продвижении, обычная цена равна промо-цене.
Я попробовал несколько способов его вычисления, используя индикаторные переменные.
1. Я создал индекс, который равен 1, когда продукт не находится в дисконне, и 0, когда он есть.
lm(logSales ~ 1 + logRP:I(INDEX==1) + logPP:I(INDEX!=1) ...)
logRP:I(INDEX == 1)FALSE -1.45618 0.06189 -23.53 <2e-16 ***
logRP:I(INDEX == 1)TRUE -2.24568 0.08454 -26.56 <2e-16 ***
logPP:I(INDEX != 1)FALSE -2.18178 0.01997 -109.27 <2e-16 ***
logPP:I(INDEX != 1)TRUE -1.85235 0.01646 -112.50 <2e-16 ***
Однако кажется, что это не правильное решение, поскольку я не хочу, чтобы оценки для того, когда его false. [ ! d5]
1. Я создал индекс, который равен 1, когда продукт не находится в дисконте и 0, когда он есть.
lm(logSales ~ 1 + I(logRP*RP_Multiplier) + I(logPP*PP_Multiplier)
Но здесь результаты не имеют никакого смысла для меня вообще, у меня неправильный знак .
3. Я попытался просто взаимодействовать
lm(logSales ~ 1 + logRP*RP_Multiplier + logPP*PP_Multiplier
Однако я не хочу оценивать коэффициенты для множителя или только для цены. Во всяком случае, это не моя цель.
Как настроить мою модель для оценки коэффициента ТОЛЬКО КОГДА наблюдение соответствует установленному мною условию? В этом случае эластичность будет вычисляться только в том случае, если множитель равен 1 для этой переменной.
Вы можете создать новую переменную с функцией ifelse:
price <- ifelse(INDEX == 1, logRP, logPP)
Я использую ваш индекс для того, чтобы не быть в продвижении по службе. Если оно равно 1, новая переменная примет значение logRP, а если оно равно 0, это будет значение logPP. Таким образом, новая переменная будет иметь интересующие вас цены, и вы можете использовать ее в качестве объясняющей переменной.