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
Properties

Article ID: 3104216 - Last Review: 29 Oct 2015 - Revision: 1

Feedback