I try to find genes that related to output which is numbers in three category. The simplified analogy is:

first we take an zygote and measure the expression of a gene, and clone this zygote to many replicates and finally we have hundreds of clone man. we take a record of their career choice, assume there are only three choice (fireman, policeman and teacher). assume the distribution of gene expression is normal.

We take many zygote then the data table looks like:

gene expression, fireman, policeman, teacher

13.2, 223, 198, 992

9.1, 195, 311, 775

..., ..., ..., ...

How can I decide if a gene is related to career choice? I thought it would be something like multinomial logistic regression but I still don't know how to do it.

  • 1
    $\begingroup$ What are the gene expression numbers? Why do they have decimal values? $\endgroup$ Aug 31, 2015 at 12:48
  • $\begingroup$ @gung just consider them as a random number following a certain distribution. $\endgroup$
    – Luyi Tian
    Aug 31, 2015 at 13:16
  • $\begingroup$ Are they supposed to be incorporated into the analysis somehow? If so, how? $\endgroup$ Aug 31, 2015 at 13:19

1 Answer 1


Multinomial models seem like a good choice there.

If you know or prefer R, then multinom in the nnet package is one way to do it.

multinom can take as a response a matrix of counts of each class to predict (i.e. the counts of firemen, policeman, and teachers) and regress that against some predictor (i.e. gene expression).

For example:

response  <- as.matrix(df[,c('fireman', 'policeman', 'teacher')])
predictor <- df$gene.expression
fit <- multinom(response ~ predictor)

From there, you can interpret the coefficients much like shown in this post where the reference level of the response will simply be the first column in the matrix given on the left side of the formula.

  • $\begingroup$ Don't forget the Y scores appear to be counts, so it should be some form of poisson-multinomial model. Perhaps nnet takes care of that for you; I don't see a 'family' argument. $\endgroup$
    – HEITZ
    Aug 31, 2015 at 14:02
  • $\begingroup$ They're counts of multinomial outcomes though so the error family is multinomial, not poisson. $\endgroup$
    – Eric Czech
    Aug 31, 2015 at 16:44
  • $\begingroup$ Ah yep, you're right! $\endgroup$
    – HEITZ
    Aug 31, 2015 at 23:53
  • $\begingroup$ thank you for your answer. then what if gene expression value is not normal, but negative binomial distributed? can we still use this model $\endgroup$
    – Luyi Tian
    Sep 1, 2015 at 0:09
  • $\begingroup$ That's all good, the distribution of gene expression is actually irrelevant (unless you care about it specifically for some reason). Most likely I'd guess you only care about how that value can be used to predict career choices, in which case the errors around the career choice prediction given a value of gene expression are the only thing you have to be careful about (but multinomial/logistic here is ok to assume). $\endgroup$
    – Eric Czech
    Sep 1, 2015 at 0:31

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.