Vienas būdas tai padaryti būtų toks.
Jūs galite apskaičiuoti bendras grupės sumos naudojant rxSummary() ir naudotis, grupės procentai: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