Difference in proportion across study types based on count data from multiple studies? We have the following situation. We have collected count data from a number of studies. Specifically, we looked at the number of people of each race in each study's cohort. We also collected a number of characteristics of each study, e.g., what type of journal the study was in, the location where the study was collected, etc.
We want to estimate the proportion of each race within studies having each characteristic. And, we want to test for a difference in those proportions across the characteristic. (An add on would be to adjust for other characteristics, if possible.)  E.g., we want to estimate the proportion of each race in oncology journals and in internal medicine journals, and test whether there is a difference in those proportions in oncology vs internal medicine journals.
I am pretty sure there should be standard methods to do this. I was looking at the Cochran-Mantel-Haenszel Chi-Squared Test but I think that requires one to have observations in each category, i.e., we would need each study to report the race in oncology journals and also in internal medicine journals which doesn't make sense for this scenario since the journal itself is only either an oncology or internal medicine journal.
Example data:
StudyID JournalType NumAsian NumBlack NumWhite
1       Oncology    3        4        5
2       Oncology    30       410      490
3       IntMedicine 10       5        30
4       IntMedicine 4        2        3
5       IntMedicine 300      250      123

It seems to me like this could be analyzed using:
p_i ~ Dirichlet(alpha_{j(i)})
X_i ~ Multinomial(n_i, p_i)

where i ranges over StudyID, n_i is the total number of participants in study i, and j(i) indexes the JournalType for study i (e.g., 1 if JournalType is Oncology, 2 if IntMedicine, etc.).
But this hasn't come up as a standard approach when I google so I'm not sure if there is perhaps a more appropriate or standard approach. Also, I am not sure what the name of this scenario is, which would be quite helpful for googling. 
 A: I would at least start out with multinomial regression. In R there are multiple packages implementing this, but the simplest in use  is maybe nnet with function multinom. With your example data I get
mod0.nnet <- nnet::multinom(cbind(NumAsian, NumBlack, NumWhite)  ~ 1, data=ExData)   
mod1.nnet <- nnet::multinom(cbind(NumAsian, NumBlack, NumWhite)  ~ JournalType, data=ExData)   

 anova(mod0.nnet, mod1.nnet)
Likelihood ratio tests of Multinomial Models

Response: cbind(NumAsian, NumBlack, NumWhite)
        Model Resid. df Resid. Dev   Test    Df LR stat. Pr(Chi)
1           1         8   3538.674                              
2 JournalType         6   3080.843 1 vs 2     2 457.8305       0

with a clear conclusion.  Making a summary by adjoining proportions to the data frame:
ExDataSumm <- within(ExData, {w <- NumAsian+NumBlack+NumWhite
 pAsian <- NumAsian/w
 pBlack <- NumBlack/w
 pWhite <- NumWhite/w})
print(ExDataSumm, digits=2)
  JournalType NumAsian NumBlack NumWhite pWhite pBlack pAsian   w
1    Oncology        3        4        5   0.42   0.33  0.250  12
2    Oncology       30      410      490   0.53   0.44  0.032 930
3 IntMedicine       10        5       30   0.67   0.11  0.222  45
4 IntMedicine        4        2        3   0.33   0.22  0.444   9
5 IntMedicine      300      250      123   0.18   0.37  0.446 673

shows a lot of variation also within JournalType, so if your real data has a lot more rows some random-effects multinomial model could be tried.
Below the code for reading your example data:
ExData_text <-  
"StudyID JournalType NumAsian NumBlack NumWhite
1       Oncology    3        4        5
2       Oncology    30       410      490
3       IntMedicine 10       5        30
4       IntMedicine 4        2        3
5       IntMedicine 300      250      123        "

ExData <- read.table(textConnection(ExData_text), header=TRUE)
ExData$StudyID <- NULL  

