How can I compute group percentages for a categorical variable?

One way to do this is to use rxSummary() to compute the group sums and then calculate the group percentages from these categorical counts.


Here is a simple example that shows how to do this:

df <- data.frame(g = c('1', '0', '1', '0'), a=c(1, 2, 3, 4)) 
sums.within.g <- rxSummary(a ~ g, data = df, summaryStats = "Sum") 
sums.within.g <- sums.within.g$categorical[[1]][,3]

numRows <- length(unique(df$g)) 
totSum <- cumsum(sums.within.g) 
totSum <- totSum[length(totSum)] 
df.percentages <- sums.within.g / totSum 
names(df.percentages) <- levels(df$g)

> df.percentages 
 0 1 
0.6 0.4

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.