I am interested in the moderating effect of a voter's political knowledge on the effect of a voter's candidate evaluations on vote choice. I am trying to estimate conditional logit models to analyze this. At least that is what they are called in political science, I have already noticed that the terminology here is not entirely consistent across different disciplines.

All voters in my dataset have the same choice set of 6 parties. For my analysis I am using a stacked data matrix where every row constitutes a voter*party dyad. I would like to estimate an interaction effect between political knowledge (individual-specific) and candidate evaluation (alternative-specific) on vote choice. My problem is that, at least to my knowledge from trying to do this with the package in R, it is not possible to include variables like political knowledge in these models, as there is no intra-individual variation. Political knowledge of voter A is the same for party 1, party 2, ..., party 6. It is constant per individual, same as is age, gender, etc.

Of course, I am now asking myself how I can properly model this. I have read some papers that get around this issue by regressing vote choice for every single party upon the individual-specific variable and using the predicted probabilities (y-hats) from this binary logistic model as an independent variable in the conditional logistic regression (see for example Gattermann & De Vreese 2017; Giebler & Wagner 2015). However, these papers do not use y-hats as a constituent factor of an interaction effect, and I have no idea if this would even be valid or how I would interpret such an interaction effect.

I have also found a paper that calculates only the interaction effect and excludes from the model the main effect of one of the factors constituting the interaction effect. I know that best practice suggests to include all variables in the model (especially since it makes sense to expect a direct effect of political knowledge on vote choice) but maybe this is negligible in this case.

I would really appreciate feedback or guidance in this matter, as I am a bit stuck right now and I don't feel confident enough to choose one of the above mentioned alternatives. Maybe someone has a good argument for one of these alternatives, or maybe there are even other ways to solve this.

Feel free to let me know if you want me to describe the problem in more detail. Thank you!

EDIT1, 2022-03-11: I was asked to further specify my question. The dependent variable "vote choice" is a dummy, coded 1 when a respondent indicated voting for this party and 0 otherwise. Example data:

resp_id party vote_choice cand_eval pol_know
1 CDU/CSU 0 0.2 0.904761
1 SPD 0 0.5 0.904761
1 Greens 1 0.8 0.904761
1 FDP 0 0.3 0.904761
1 Left 0 0.6 0.904761
1 AfD 0 0.1 0.904761
2 CDU/CSU 0 0.1 0.761904
2 SPD 0 0.4 0.761904
2 Greens 0 0.6 0.761904
2 FDP 0 0.2 0.761904
2 Left 1 1.0 0.761904
2 AfD 0 0.0 0.761904

The vote choice is the only choice asked of the respondents and every respondent in the dataset made this choice. There are no cases who did not choose a party. The parties are not ranked, respondents were simply asked what party they would vote for (1 vote for 1 party). For every party, the evaluation of their one lead candidate was asked. There was no choice of candidates within a party.

Apart from the proposed interaction of political knowledge and candidate evaluation, I would like to include standard predictors of vote choice, i.e. an individual's party identification (dummy variable 0 if not feeling close to respective party, 1 if feeling close to party), distance between the individual's position on the left-right dimension and the party position on the left-right dimension (continuous variable), both predictors are alternative-specific. I would also like to include controls for sex (dummy m/f), age (continuous) and income (continuous), all individual-specific.

  • $\begingroup$ Please edit your question to be more specific about how the set of 6 parties is associated with the "vote choice for every single party." Is each individual forced to make a choice of 1 from among the 6 parties, are there party rankings, are there choices of candidates to be made within each of the 6 parties, or something else? Please say more about the predictor variables you are considering. Am I correct that this is not the type of "conditional logistic regression" described in Wikipedia, which is a way to allow for matching? $\endgroup$
    – EdM
    Commented Mar 10, 2022 at 21:00
  • $\begingroup$ Hi @EdM, thank you for your comment. I edited my post and tried to answer your questions. From what I understand of this Wikipedia article, this is a different type of conditional logistic regression or at least I am not looking at matched data. I'll link two papers that discuss the use of conditional logit in political science and especially voting behavior research: van der Eijk et al. (2006) and Alvarez & Nagler (1998). $\endgroup$
    – niju
    Commented Mar 11, 2022 at 19:25

1 Answer 1


This seems to be a pretty straightforward multinomial logistic regression problem. You have 6 mutually exclusive unordered outcomes (the vote choice) and a set of predictors, evidently with complete data. The regression would directly evaluate the log-odds of choosing each of 5 parties against one party chosen as a reference, as a function of your predictor values (essentially 5 binary logistic regressions done together). You can then express results as probabilities for each of the 6 parties.

From the data sample you show, you might need to put your data into a wide form, with 1 row per individual.* The outcome would be the party choice, represented as an unordered categorical variable. In the process you would place the cand_eval values currently in separate rows for each party and individual into separate columns, one specific to each of the 6 parties, for each individual. Then you could examine the interaction between those party candidate evaluation metrics and political knowledge via interaction terms. Even though the political knowledge measure is constant for each individual, those interaction terms (and the candidate evaluations) wouldn't be. Measures that combine information from all of the 6 cand_eval values for each individual could also be considered as predictors.

This UCLA website has links to how to perform multinomial logistic regression with any of 5 different software packages.

*There might be a way to do the multinomial logistic regression directly with the data as currently formatted, but I'm not sure. Moving from long-form data into wide form is now nicely supported by tools in the R tidyverse.

  • $\begingroup$ Thank you for your answer @EdM, I will definitely try to estimate the model you proposed. The original data is in the wide format, as it is from a cross-section survey. As you describe it, this would yield party-specific coefficients for the interaction effects as opposed to one generic coefficient in the conditional logit models, am I correct? Thus, I woud be able to interpret the effect of pol_know on cand_eval for CDU/CSU vote, SPD vote etc. separately but I would not be able to interpret the "overall" conditional effect of pol_know on the effect of cand_eval, right? $\endgroup$
    – niju
    Commented Mar 14, 2022 at 8:58
  • $\begingroup$ @niju coefficients that are reported directly will be "the effect of pol_know on cand_eval for CDU/CSU vote, SPD vote etc. separately." There are ways to examine significance of "overall" effects. You could do a likelihood-ratio test on a model that includes individual predictors and their interactions versus a model that only includes the individual predictors. Or you could do a Wald test on the set of coefficients associated with the interaction. These are issues whenever there are interactions with multi-level categorical predictors, not just with multinomial outcomes. $\endgroup$
    – EdM
    Commented Mar 14, 2022 at 15:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.