- Hands-On Data Science with R
- Vitor Bianchi Lanzetta Nataraj Dasgupta Ricardo Anjoleto Farias
- 289字
- 2021-06-10 19:12:35
Applying families of functions
The apply family of functions allow users to easily apply custom vector functions on matrices, lists, and other R data structures. Operations such as summing by rows and columns or more complex ones, such as functions with conditional logic, can be applied using apply commands. These are extremely convenient, not only from an ease-of-use perspective but also from a performance standpoint. In general, vectorised operations will almost always be faster and more efficient than looping, such as with for-next loops in R:
# apply # Usage # # apply(X, MARGIN, FUN, ...) # Arguments # # X: an array, including a matrix. # MARGIN: a vector giving the subscripts which the function will be applied over. E.g., for a matrix 1 indicates # rows, 2 indicates columns, c(1, 2) indicates rows and columns. Where X has named dimnames, it can be a # character vector selecting dimension names. apply(state[,-ncol(state)], 2, sum) # Sum of all values in the numeric columns apply(state[,-ncol(state)], 2, mean) # Mean of all values in the numeric columns
The output is as follows:
lapply, which belongs to the apply family of functions, is used to the apply functions on lists in R:
# lapply - list apply which is similar to apply, but can be also used for other R object types
## Produces the output as a list
lapply(state[,-ncol(state)], function(x) {list(MIN=min(x), MAX=max(x), MEAN=mean(x))})
The output is as follows:
sapply—it provides the same functionality as lapply but, instead of a list output, sapply returns the result as a vector:
# sapply - simplifies the output (eg., produce a vector instead of a list) sapply(state[,-ncol(state)], function(x) {list(MIN=min(x), MAX=max(x), MEAN=mean(x))})
The output of the preceding code is as follows:
- Word 2000、Excel 2000、PowerPoint 2000上機指導與練習
- 樂高機器人:WeDo編程與搭建指南
- Visualforce Development Cookbook(Second Edition)
- Hadoop 2.x Administration Cookbook
- Security Automation with Ansible 2
- Expert AWS Development
- 自動化控制工程設計
- 工業機器人現場編程(FANUC)
- Photoshop CS3圖層、通道、蒙版深度剖析寶典
- 網絡布線與小型局域網搭建
- Photoshop行業應用基礎
- C++程序設計基礎(上)
- Windows安全指南
- 電腦故障排除與維護終極技巧金典
- Creating ELearning Games with Unity