tapply(X, INDEX, FUN) Apply a function to each cell of a factored array

lapply returns a list each element of which is the result of applying FUN to the corresponding list

sapply is a “user-friendly” version of lapply by default returning a vector or matrix if appropriate.

mapply is a multivariate version of sapply applies FUN to the first elements of each ... argument

ex. apply(x, 2, sum), x is a matrix

lapply returns a list of the same length as X, each element of which is the result of applying FUN to the corresponding element of X.

> x <- list(a = 1:10, beta = exp(-3:3), logic = c(TRUE,FALSE,FALSE,TRUE)) >

> x

$a

[1] 1 2 3 4 5 6 7 8 9 10

$beta

[1] 0.04978707 0.13533528 0.36787944 1.00000000 2.71828183 7.38905610 20.08553692

$logic

[1] TRUE FALSE FALSE TRUE

> # compute the list mean for each list element

> lapply(x,mean)

$a

[1] 5.5

$beta

[1] 4.535125

$logic

[1] 0.5

> # median and quartiles for each list element

> lapply(x, quantile, probs = 1:3/4)

$a

25% 50% 75%

3.25 5.50 7.75

$beta

25% 50% 75%

0.2516074 1.0000000 5.0536690

$logic

25% 50% 75%

0.0 0.5 1.0

> sapply(x, quantile)

a beta logic

0% 1.00 0.04978707 0.0

25% 3.25 0.25160736 0.0

50% 5.50 1.00000000 0.5

75% 7.75 5.05366896 1.0

100% 10.00 20.08553692 1.0

sapply is a “user-friendly” version of lapply by default returning a vector or matrix if appropriate.

`mapply`

is a multivariate version of `sapply`

. `mapply`

applies `FUN`

to the first elements of each ... argument> mapply(rep, 1:4, 4:1)

[[1]]

[1] 1 1 1 1

[[2]]

[1] 2 2 2

[[3]]

[1] 3 3

[[4]]

[1] 4

> mapply(rep, times=1:4, x=4:1)

[[1]]

[1] 4

[[2]]

[1] 3 3

[[3]]

[1] 2 2 2

[[4]]

[1] 1 1 1 1

tapply(X, INDEX, FUN) Apply a function to each cell of a factored array

> n <- 17; fac <- factor(rep(1:3, len = n), levels = 1:5) > table(fac)

fac

1 2 3 4 5

6 6 5 0

> tapply(1:n, fac, sum)

1 2 3 4 5

51 57 45 NA NA

###################################################

From http://www.statmethods.net/stats/withby.html

With

The with( ) function applys an expression to a dataset. It is similar to DATA= in SAS.

# with(data, expression)

# example applying a t-test to dataframe mydata

with(mydata, t.test(y1,y2))

By

The by( ) function applys a function to each level of a factor or factors. It is similar to BY processing in SAS.

# by(data, factorlist, function)

# example apply a t-test separately for men and women

by(mydata, gender, t.test(y1,y2))

## No comments:

Post a Comment