percent memisc 0.99.26.3

# Table of Percentages with Percentage Base¶

## Description¶

`percent` returns a table of percentages along with the percentage base. It will be useful in conjunction with `Aggregate` or `genTable`.

## Usage¶

```  percent(x,...)
## S4 method for signature 'default'
percent(x,weights=NULL,total=!(se || ci),
se=FALSE,ci=FALSE,ci.level=.95,
total.name="N",perc.label="Percentage",...)
## S4 method for signature 'logical'
percent(x,weights=NULL,total=!(se || ci),
se=FALSE,ci=FALSE,ci.level=.95,
total.name="N",perc.label="Percentage",...)
```

## Arguments¶

`x`

a numeric vector or factor.

`weights`

a optional numeric vector of weights of the same length as `x`.

`total`

logical; should the total sum of counts from which the percentages are computed be included into the output?

`se`

logical; should standard errors of the percentages be included?

`ci`

logical; should confidence intervals of the percentages be included?

`ci.level`

numeric; nominal coverage of confidence intervals

`total.name`

character; name given for the total sum of counts

`perc.label`

character; label given for the percentages if the table has more than one dimensions, e.g. if `se` or `ci` is TRUE.

`...`

for `percent.mresp`: one or several 1-0 vectors or matrices otherwise, further arguments, currently ignored.

## Value¶

A table of percentages.

## Examples¶

```x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)
f <- sample(1:3,100,replace=TRUE)
f <- factor(f,labels=c("a","b","c"))
percent(x>0)
```
```Percentage          N
47        100
```
```percent(f)
```
``` a   b   c   N
35  21  44 100
```
```genTable(
cbind(percent(x>0),
percent(y>0),
percent(z>0)) ~ f
)
```
```, , f = a

percent(x > 0) percent(y > 0) percent(z > 0)
Percentage       51.42857       45.71429       48.57143
N                35.00000       35.00000       35.00000

, , f = b

percent(x > 0) percent(y > 0) percent(z > 0)
Percentage       38.09524       23.80952       52.38095
N                21.00000       21.00000       21.00000

, , f = c

percent(x > 0) percent(y > 0) percent(z > 0)
Percentage       47.72727       54.54545       43.18182
N                44.00000       44.00000       44.00000
```
```gt <- genTable(
cbind("x > 0" = percent(x>0,ci=TRUE),
"y > 0" = percent(y>0,ci=TRUE),
"z > 0" = percent(z>0,ci=TRUE)) ~ f
)
ftable(gt,row.vars=3:2,col.vars=1)
```
```         Percentage     lower     upper
f
a x > 0   51.428571 33.989142 68.617149
y > 0   45.714286 28.827144 63.354198
z > 0   48.571429 31.382851 66.010858
b x > 0   38.095238 18.107163 61.564561
y > 0   23.809524  8.217588 47.165983
z > 0   52.380952 29.780684 74.286937
c x > 0   47.727273 32.461422 63.310248
y > 0   54.545455 38.847212 69.609289
z > 0   43.181818 28.349373 58.966278
```
```ex.data <- expand.grid(mean=c(0,25,50),sd=c(1,10,100))[rep(1:9,rep(250,9)),]
ex.data <- within(ex.data,x <- rnorm(n=nrow(ex.data),mean=ex.data\$mean,sd=ex.data\$sd))
ex.data <- within(ex.data,x.grp <- cases( x < 0,
x >= 0 & x < 50,
x >= 50 & x < 100,
x >= 100
))
genTable(percent(x.grp)~mean+sd,data=ex.data)
```
```, , sd = 1

mean
0  25    50
x < 0              55.2   0   0.0
x >= 0 & x < 50    44.8 100  45.6
x >= 50 & x < 100   0.0   0  54.4
x >= 100            0.0   0   0.0
N                 250.0 250 250.0

, , sd = 10

mean
0    25    50
x < 0              52   0.8   0.0
x >= 0 & x < 50    48  98.4  50.8
x >= 50 & x < 100   0   0.8  49.2
x >= 100            0   0.0   0.0
N                 250 250.0 250.0

, , sd = 100

mean
0    25    50
x < 0              47.6  42.4  28.4
x >= 0 & x < 50    18.4  18.4  19.6
x >= 50 & x < 100  16.8  12.4  20.0
x >= 100           17.2  26.8  32.0
N                 250.0 250.0 250.0
```
```Aggregate(percent(Admit,weight=Freq)~Gender+Dept,data=UCBAdmissions)
```
```   Gender Dept  Admitted Rejected   N
1    Male    A 62.060606 37.93939 825
2  Female    A 82.407407 17.59259 108
3    Male    B 63.035714 36.96429 560
4  Female    B 68.000000 32.00000  25
5    Male    C 36.923077 63.07692 325
6  Female    C 34.064081 65.93592 593
7    Male    D 33.093525 66.90647 417
8  Female    D 34.933333 65.06667 375
9    Male    E 27.748691 72.25131 191
10 Female    E 23.918575 76.08142 393
11   Male    F  5.898123 94.10188 373
12 Female    F  7.038123 92.96188 341
```