0
$\begingroup$

I am trying to re-analyze (ETA: used loosely; the original study performed no statistical analysis) some published biological data (below). They used 5 treatments and scored presence/absence of 4 non-exclusive and potentially non-independent outputs (A-D); an individual could have 1, 2, 3, or 4 of these responses, it's possible that having 1 precludes or predisposes an individual to other(s), and that may vary by treatment.

They did not provide raw scoring data, nor did they track replicates. Different treatments have different sample sizes.

I am trying to figure out whether their conclusions about the different treatments have merit but I'm not sure what statistical test(s) would be valid.

I typically use R but shouldn't need code. I'm just feeling stuck for how to handle these data.

( A , B , C , D , total)

treatment1 369, 44, 10, 54, 434

treatment2 67, 37, 0, 13, 86

treatment3 62, 19, 8, 22, 76

treatment4 45, 13, 0, 5, 60

treatment5 40, 5, 0, 0, 45

$\endgroup$
5
  • $\begingroup$ Without a more detailed understanding of the data than I get from your description, its difficult to suggest a method of analysis. Can you say how many subjects are represented here? Exactly what does '369' mean? If it is a count of something, then please describe what was counted. Similarly, what do the $0$s in treatments 2, 4, and 5 mean? In what way are the numbers 369, 67, 62, 45, 50 related? What does the grand total $434 + \cdots + 45$ represent? $\endgroup$
    – BruceET
    Commented Aug 26, 2018 at 16:15
  • $\begingroup$ I guess my layout was unclear. For example, in treatment 1: 369 individuals had outcome phenotype A, 44 outcome B, 10 outcome C, 54 outcome D; there were 434 total individuals counted. (or, to answer the question you asked: 369, 67, 62, 45, 40 are the numbers of individuals in treatments 1-5 respectively that had outcome A). $\endgroup$
    – ante-dote
    Commented Aug 26, 2018 at 17:51
  • $\begingroup$ If I understand what you mean by "What does the grand total 434+⋯+45 represent?" It would be the total number of individuals included in the experiment (701). $\endgroup$
    – ante-dote
    Commented Aug 26, 2018 at 18:00
  • $\begingroup$ Thanks. I thought I understood. But then I expected the last entry in each line to be the total of the previous four entries. For example, this is the case for the last row. But not for other rows. Also, adding the 20 numbers I take to be cell counts, I get a total of 840 individuals not 701. // I supposed that the 20 counts would make a 5-by-4 contingency table, and that appropriate analysis would be a chi-sq test for indep, of treatments and phenotypes, but I can't go ahead with that until you explain the 'total` column. // Afraid 'non-exclusive' is explantation. Then don't see what to do. $\endgroup$
    – BruceET
    Commented Aug 26, 2018 at 19:03
  • $\begingroup$ That's exactly the thing I'm struggling with – an individual can have more than one A-D so the total number of individuals in each treatment =/= the sum of all the counts for that treatment. But in treatment 1, with 434 total individuals, 369 of them had outcome A, etc, so the total number of outcomes counted is 477 (369+44+10+54) So some individuals certainly have more than one outcome. There are 701 individuals total across all treatments (434+86+76+60+45=701). The chi-squared tests I am used to require mutually exclusive categories. $\endgroup$
    – ante-dote
    Commented Aug 26, 2018 at 19:46

1 Answer 1

1
$\begingroup$

If you want to know whether treatments and phenotypes are independent categorical variables, then consider the counts (exclusive of totals) to make a contingency table, and do a chi-squared test of independence.

First, let's temporarily ignore the double counting and pretend that the number of subjects per row is the total of the counts per row. That amounts to pretending there were 840 subjects.

TABLE = matrix(c(396, 44, 10, 54,  67, 37, 0, 13,
                   62, 19, 8, 22,  45, 13, 0, 5,
                   40, 5, 0, 0), byrow=T, nrow = 5)
TABLE
     [,1] [,2] [,3] [,4]
[1,]  396   44   10   54
[2,]   67   37    0   13
[3,]   62   19    8   22
[4,]   45   13    0    5
[5,]   40    5    0    0

sum(TABLE)
[1] 840

The expected counts are $E_{ij} = R_iC_j/G,$ where $R_i, C_j, G$ are corresponding row and column totals, and the grand total $G=840.$ Then under $H_0$ that row and column categories are independent, the chi-squared statistic is $$Q = \sum_{i,j}\frac{(X_{ij}-E_{ij})^2}{E_{ij}} \stackrel{\text{aprx}}{\sim} \mathsf{Chisq}(\nu = (r-1)(c-1)),$$ where the approximation depends of having "most" $E_{ij} > 5$ and all of them larger than 3. Here $\nu = (5-1)(4-1) = 12.$

However, for our data, several of the $E_{ij}$ in the lower-right corner are too small. In this case upon request, R will simulate the distribution of $Q$ to give a reasonably accurate P-value. Omitting the false start with a warning about $E_{ij}$'s being to small and moving directly to simulation, we have a highly significant result with P-value near 0 (as small as the number of iterations of the simulation permits). Without the simulation the P-value is also very near 0, 1.478e-12. [Notice that $\nu$ is missing from the output because the chi-squared distribution was not used.]

Results = chisq.test(TABLE, simulate.p=T);  Results  

        Pearson's Chi-squared test with simulated p-value (based on 1e+05  replicates)

data:  TABLE
X-squared = 82.334, df = NA, p-value = 1e-05

However, this result is questionable because of the multiple counting, so we need to try to adjust for multiple counting in some way.

Below I propose a few possible methods of adjustment. I have not encountered this problem before, so maybe someone can find a better method than any of them.

Adjust statistic Q: Suppose for the moment that every count $X_{i,j}$ were doubled. Then every $E_{i,j}$ is doubled and so is the statistic $Q.$ Thus, a 'cure' for this systematic doubling of counts would be to halve $Q$ before finding the P-value based on $\nu$ degrees of freedom. In our case according to your Comment, we have sporadic multiple counts that we might view as inflating $Q$ by a factor of $c = 840/701 \approx 1.2.$ We could use an adjusted statistic $Q^\prime = Q/c = 82.334/1.12 = 73.51,$ and the corresponding P-value would again be very nearly 0 (7.02 e-11).

1 - pchisq(73.51, 12)
[1] 7.021073e-11

An objection to this method of adjustment is that our multiple counts are not uniformly spread across the table. For example, there are no multiple counts for Treatment 5, while Treatment 1 has $504 - 434 = 70$ multiple counts. Its strong point is that it does not interfere with overall proportions of counts.

Adjust treatment counts by "exclusion." Sometimes when crucial data values are missing, one uses 'imputation' to estimate them. Here we have the opposite problem, we have unwanted extra counts. We might seek a rational way to exclude them.

rowSums(TABLE)
[1] 504 117 111  63  45

Scaling method: A simple way to make an adjustment would be just to scale each row. However, due to rounding, the adjusted row total may be slightly incorrect (below for Treatment 1, 436 instead of 435).

t1.over = TABLE[1,];  t1.over;  sum(t1.over)
[1] 396  44  10  54
[1] 504
t1.adj = round(t1.over*435/504); t1.adj; sum(t1.adj)
[1] 342  38   9  47
[1] 436

Then re-scale other the other rows with overcounts.

Random method: Alternatively, we might imagine original researchers looking at an individual in Treatment 1 and trying to decide whether to classify it as phenotype A or B. Unable to decide for sure, they just count it as both. So we are left with counts t1.over = c(369, 44, 10, 54) totaling 504, while the number of subjects in Treatment 1 is known to be 435. We could use the sample function in R to 'decide' for them on a probability basis.

t1.s = sample(1:4, 435, repl=T, prob=TABLE[1,])
table(t1.s)
t1.s
  1   2   3   4 
346  40   8  41     
t1.radj = as.numeric(as.matrix(table(t1.s)));  t1.radj 
[1] 346  40   8  41
sum(t1.radj)
[1] 435

This random method of exclusion might be done repeatedly in a simulation to see how much P-values vary.

$\endgroup$
5
  • $\begingroup$ Thank you for the ideas! My concern is that the double counting in this case is not an unknown or intermediate but is truly both. Without replicates I'm not sure how to handle that fact. I'm not convinced that any of your suggested adjustments is exactly right for my particular case. I'll have to keep thinking about it and get back to you but I'm not a statistician... I'm a cookbook user. $\endgroup$
    – ante-dote
    Commented Aug 27, 2018 at 13:41
  • $\begingroup$ The difficulties with the data are probably why the the researchers did not do a statistical analysis of their own. Unclear what you mean by 'not an unknown or intermediate'. I'm curious to know their 'conclusions' that you hope to verify in retrospect with your own analysis. An analysis using my last method repeatedly, akin to a bootstrap, may be the the most defensible possibility. If you are looking for a 'tried-and-true' cookbook method, I doubt there is one. I suspect your only entirely satisfactory course would be to re-do the experiment using a sound design. $\endgroup$
    – BruceET
    Commented Aug 27, 2018 at 14:28
  • $\begingroup$ They made gene expression reporter constructs deleting putative gene regulatory elements. They scored whether in each individual animal the reporter was expressed in each of 4 cell types (1 where it is normally expressed a 3 where it isn't), and claim that 2 of their constructs each show ectopic expression in 1 cell type each and the other 3 don't. I don't think they ruled out general mis-regulation rather than cell type-specific regulation because reporter incorporation is stochastic so the control reporter doesn't even show up in all the cells it "should". $\endgroup$
    – ante-dote
    Commented Aug 28, 2018 at 16:35
  • $\begingroup$ It isn't central enough to my work to re-do it at this time but I wanted to know how seriously to take it as either way it would be useful context for my project. Thanks so much for thinking about it. $\endgroup$
    – ante-dote
    Commented Aug 28, 2018 at 16:39
  • $\begingroup$ Basing further work on these data may make sense. Although the data are somewhat messy, they seem to give a strong hint treatments and phenotypes aren't indep. You can look at 'Pearson residuals' of a chi-squared test to spot the cells with the greatest contribution to the total $Q.$ If you understand how treatments might influence phenotype distribution, you can check to see if the the large contributions occur in cells that make some sense according to your understanding. So informed, if you eventually investigate further, you can design an experiment that might confirm your suspicions. $\endgroup$
    – BruceET
    Commented Aug 28, 2018 at 19:36

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.