官术网_书友最值得收藏!

The apply, lapply, sapply, and tapply functions

R has some very handy functions such as apply, sapply, tapply, and mapply, that can be used to reduce the task of writing complicated statements. Also, using them makes our code look cleaner. The apply() function is similar to writing a loop statement.

The lapply() function is very similar to the apply() function but can be used on lists; this will return a list. The sapply() function is very similar to lapply() but returns a vector and not a list.

How to do it…

The apply() function can be used as follows:

mat= matrix(1:25, 5,5)
apply(mat,1,sd)

The lapply() function can be used in the following way:

j = list(x = 1:4, b = rnorm(100,1,2))
lapply(j,mean)

The tapply() function is useful when we have broken a vector into factors, groups, or categories:

tapply(mtcars$mpg,mtcars$gear,mean)

How it works…

The first argument in the apply() function is the data. The second argument takes two values: 1 and 2; if we state 1, R will perform a row-wise computation; if we mention 2, R will perform a column-wise computation. The third argument is the function. We would like to calculate the standard deviation of each row in R; hence we use the sd function as the third argument. Note that we can define our own function and replace it with the sd function.

With regard to the lapply() function, we have defined J as a list and would like to calculate the mean. The first argument in the lapply() function is the data and the second argument is the function used to process the data.

The first argument in the tapply() function is the data; in our case it is mpg. The second argument is the factor or the grouping; in this case it would be gears. The last argument is the function used to process the data. We would like to calculate the mean of mpg for each unique gear (3, 4, and 5 gears) in the mtcars data.

主站蜘蛛池模板: 南部县| 辉县市| 如皋市| 上栗县| 昌吉市| 安吉县| 广昌县| 兰考县| 蓬莱市| 平江县| 武穴市| 博爱县| 郎溪县| 当阳市| 会同县| 兴仁县| 舞钢市| 宁武县| 和平区| 合作市| 高要市| 额尔古纳市| 漳州市| 濉溪县| 股票| 六盘水市| 天长市| 墨竹工卡县| 株洲县| 丹阳市| 措勤县| 固安县| 准格尔旗| 靖边县| 东山县| 双柏县| 霞浦县| 拉萨市| 黑河市| 南充市| 文水县|