I have data from a laboratory experiment in which I look at the effect of expanding the choice set on a particular option being chosen. The idea is that introducing an Option "B" reduces demand for an Option "A."
Participants in the Control condition had the choice between A and Nothing. Participants in the Treatment condition had the choice between A, B, Both, and Nothing.
I'm interested in the likelihood of choosing A, which includes either just A or both A and B in the Treatment condition. (In this case, we can consider the choice set ordered such that Neither < B < A < Both.)
My first approach was to just collapse the decision for the Treatment group to the same binary measure: i.e. I treat "Both" the same way as "choose A only," and "B only" the same as "Nothing." For the purpose of the effect I'm primarily interested in (the likelihood of choosing A), this seemed sufficient.
However, a reviewer asked for a more flexible model, and suggested either a nested logit or a multinomial logit with a collapsed number of options in Control. The idea would still be to look at the effect on Option A being chosen, but without the assumptions of collapsing the responses to binary in the way I had done.
I am, however, a bit stumped on how to do that. The mlogit specification I tried below doesn't "look" right and, maybe predictably, gives an error that the system is exactly singular. I'm pretty sure this is because "Both" and "B" are, of course, only options in one condition.
Below is sample code to generate the data (and the analysis that leads to a singularity error).
df <- data.frame(id = 1:1000,
condition = c(rep("Control", 500), rep("Treatment", 500)),
choice = c(sample(c("A", "Nothing"), 500, replace = T),
sample(c("A", "B", "Both", "Nothing"), 500, replace = T)))
df_mlogit <- mlogit::mlogit.data(df, shape = 'wide', chid.var = 'id', choice = 'choice')
mlogit::mlogit(choice ~ condition, data = df_mlogit,
nests = list(A = c("A", "Both")))