SlideShare a Scribd company logo
R Programming
Sakthi Dasan Sekar
http://shakthydoss.com 1
Apply functions
Apply functions in R
 apply
 lapply
 sapply
 tapply
 vapply
 mapply
These functions usually have apply in there name.
They used to apply a specify function to each column or row to R objects
They are much more helpful than a for or while loops.
http://shakthydoss.com 2
Apply functions
apply
It is used to apply a function to a matrix in row wise or column wise.
Returns a vector or array or list.
apply(x, margin, function)
It takes minimum three arguments
1. matrix / array
2. margin
3. function
http://shakthydoss.com 3
Apply functions
apply
apply(x, margin, function)
margin - tells whether function need to apply for row or column
margin = 1 indicates function need to apply for row
margin = 2 indicates function need to apply for column
function can be mean, sum, average etc.
http://shakthydoss.com 4
Apply functions
apply
Example
m <- matrix( c(1,2,3,4),2,2 )
apply(m,1,sum)
returns a vector containing sum of rows in the matrix in m
returns a vector containing sum of column in the matrix in m
apply(m,2,sum)
http://shakthydoss.com 5
Apply functions
lapply
lapply function takes list as argument and apply the function by looping
through each element in the list.
Returns a list.
lapply(list, function)
It takes minimum two argument
1. List
2. function
http://shakthydoss.com 6
Apply functions
lapply
Example
list <- list(a = c(1,1), b=c(2,2), c=c(3,3))
lapply(list,sum)
Returns a list containing sum of a,b,c.
lapply(list,mean)
Returns a list containing mean of a,b,c.
http://shakthydoss.com 7
Apply functions
sapply
sapply(list, func)
It takes minimum two argument
1. list
2. function
sapply does every thing similar to lappy expect that sapply can simplify retuning object.
If the result is list and every element in list is of size 1 then vector is retuned.
If the restult is list and every element in list is of same size (>1) then matrix is returned.
Other wise result is retuned as a list itself.
http://shakthydoss.com 8
Apply functions
sapply
Example
list <- list(a = c(1,1), b=c(2,2), c=c(3,3))
sapply(list,sum)
Returns a vector containing sum of a,b,c.
list <- list(a = c(1,2), b=c(1,2,3), c=c(1,2,3,4))
sapply(list, range)
Returns a matrix containing min and max of a,b,c.
http://shakthydoss.com 9
Apply functions
tapply
tapply works on vector, It apply the function by grouping factors inside
the vector.
tapply(x, factor, fun)
It takes minimum three arguments
1. vector
2. factor of vector
3. function
http://shakthydoss.com 10
Apply functions
tapply
Example
age <- c(23,33,28,21,20,19,34)
gender <- c("m","m","m","f","f","f","m")
f <- factor(gender)
tapply(age,f,mean)
Returns the mean age for male and female.
http://shakthydoss.com 11
Apply functions
vapply
vapply works just like sapply except that you need to specify the type of
return value (integer, double, characters).
vapply is generally safer and faster than sapply. Vapply can save some time in
coercing returned values to fit in a single atomic vector.
vapply(x, function, FUN.VALUE)
It takes minimum three arguments
1. list
2. function
3. return value (integer, double, characters)
http://shakthydoss.com 12
Apply functions
vapply
Example
list <- list(a = c(1,1), b=c(2,2), c=c(3,3))
vapply(list, sum, FUN.VALUE=double(1))
http://shakthydoss.com 13
Apply functions
mapply
mapply is a multivariate version of sapply. mapply applies FUN to the
first elements of each ... argument, the second elements, the third
elements, and so on. Arguments are recycled if necessary.
mapply(FUN, ...)
http://shakthydoss.com 14
Apply functions
Example
list(rep(1, 4), rep(2, 3), rep(3, 2), rep(4, 1))
We see that we are repeatedly calling the same function (rep) where the first
argument varies from 1 to 4, and the second argument varies from 4 to 1.
Instead, we can use mapply:
mapply(rep, 1:4, 4:1)
which will produce the same result.
http://shakthydoss.com 15
dplyr package
dplyr overview
dplyr is a powerful R-package to transform and summarize tabular data with
rows and columns.
By constraining your options, it simplifies how you can think about common
data manipulation tasks.
It provides simple “verbs”, functions that correspond to the most common data
manipulation tasks, to help you translate those thoughts into code.
It uses efficient data storage backends, so you spend less time waiting for the
computer.
http://shakthydoss.com 16
dplyr package
dplyr is grammar for data manipulation.
It provides five verbs, basically function that can be applied on the
data set
1. select - used to select rows in table or data.frame
2. filter - used to filter records in table or data.frame
3. arrange - used for re arranging the table or data.frame
4. mutate - used for adding new data
5. summarize - states the summary of data
http://shakthydoss.com 17
dplyr package
dplyr installation
dplyr is not one among the default package, you have to install them separately
install.packages("dplyr")
loading dplyr into memory
library(dplyr)
http://shakthydoss.com 18
dplyr package
dplyr - Select
Often you work with large datasets with many columns but only a few are
actually of interest to you.
select function allows you to rapidly select only the interest columns in your
dataset.
To select columns by name
select(mtcars, mpg, disp)
To select a range of columns by name, use the “:” (from:to) operator
select(mtcars, mpg:hp)
http://shakthydoss.com 19
dplyr package
dplyr - Select
To select with columns and row with string match.
select(iris, starts_with("Petal"))
select(iris, ends_with("Width"))
select(iris, contains("etal"))
select(iris, matches(".t."))
http://shakthydoss.com 20
dplyr package
dplyr - Select
You can rename variables with select() by using named arguments.
Example
select(mtcars, miles_per_gallon = mpg)
http://shakthydoss.com 21
dplyr package
dplyr - filter
Filter function in dplyr allows you to easily to filter, zoom in and zoom
out of data your are interested.
filter(data, condition,..)
Simple filter
filter(mtcars, cyl == 8)
filter(mtcars, cyl < 6)
http://shakthydoss.com 22
dplyr package
dplyr - filter
Multiple criteria filter
filter(mtcars, cyl < 6 & vs == 1)
filter(mtcars, cyl < 6 | vs == 1)
Comma separated arguments are equivalent to "And" condition
filter(mtcars, cyl < 6, vs == 1)
http://shakthydoss.com 23
dplyr package
dplyr - arrange
arrange function basically used to arrange the data in specify order.
You can use desc to arrange the data in descending order.
arrange(data, ordering_column )
http://shakthydoss.com 24
dplyr package
dplyr - arrange
Example
Range the data by cyl and disp
arrange(mtcars, cyl, disp)
Range the data by descending order of disp
arrange(mtcars, desc(disp))
http://shakthydoss.com 25
dplyr package
dplyr - mutate
mutate function helps to adds new variables to existing data set.
Example
mutate(mtcars, my_custom_disp = disp / 1.0237)
my_custom_disp will be added to mtcars dataset.
http://shakthydoss.com 26
dplyr package
dplyr - summarise
dplyr summarise function help to Summarise multiple values to a single
value in the dataset.
summarise(mtcars, mean(disp))
summarize with group function
summarise(group_by(mtcars, cyl), mean(disp))
summarise(group_by(mtcars, cyl), m = mean(disp), sd = sd(disp))
http://shakthydoss.com 27
dplyr package
dplyr - summarise
List of Summary function that can be used inside dplyr summarise
mean, median, mode, max, min, sun, var, length, IQR
First - returns the first element of vector
last - returns the last element of vector
nth(x,n) - The 'n' the element of vector
n() - the number of rows in the data.frame
n_distinct(x) - the number of unique value in vector x
http://shakthydoss.com 28
DPLYR & APPLY FUNCTION
Knowledge Check
http://shakthydoss.com 29
DPLYR & APPLY FUNCTION
Apply functions in R used to apply a specify function to each column or
row to R objects.
A. TRUE
B. FALSE
Answer A
http://shakthydoss.com 30
DPLYR & APPLY FUNCTION
Which one of the following is true about function apply(x, margin,
function)
A. When margin = 2 it indicates function need to apply for row.
B. When margin = 1, it indicates function need to apply for row.
C. x must be of type list.
D. only arithmetic functions can be passed into apply function.
Answer B
http://shakthydoss.com 31
DPLYR & APPLY FUNCTION
Define lapply.
A. lapply function takes list as argument and apply the function by looping
through each element in the list.
B. lapply function takes list, array or matrix and apply the function by looping
through each element in the list.
C. lapply is not standalone. it should with apply function.
D. lapply is used when latitude and longitude comes into to picture.
Answer A
http://shakthydoss.com 32
DPLYR & APPLY FUNCTION
dplyr is a powerful R-package to transform and summarize tabular data
with rows and columns. It also refered as grammar for data
manipulation.
A. TRUE
B. FALSE
Answer A
http://shakthydoss.com 33
DPLYR & APPLY FUNCTION
How do you rearrange the order of column in data set using dplyr
functions.
A. order_data(data, ordering_column)
B. sort_data(data,ordering_column)
C. dplyr(data,ordering_column)
D. arrange(data, ordering_column)
Answer D
http://shakthydoss.com 34

More Related Content

What's hot

11. using regular expressions with oracle database
11. using regular expressions with oracle database11. using regular expressions with oracle database
11. using regular expressions with oracle database
Amrit Kaur
 
2 R Tutorial Programming
2 R Tutorial Programming2 R Tutorial Programming
2 R Tutorial Programming
Sakthi Dasans
 
Data Types and Structures in R
Data Types and Structures in RData Types and Structures in R
Data Types and Structures in R
Rupak Roy
 
Single row functions
Single row functionsSingle row functions
Single row functions
Balqees Al.Mubarak
 
C# Inheritance
C# InheritanceC# Inheritance
C# Inheritance
Prem Kumar Badri
 
Collections in Java Notes
Collections in Java NotesCollections in Java Notes
Collections in Java Notes
Shalabh Chaudhary
 
R studio
R studio R studio
R studio
Kinza Irshad
 
Data type in c
Data type in cData type in c
Data type in c
thirumalaikumar3
 
Collections and generics
Collections and genericsCollections and generics
Collections and generics
Muthukumaran Subramanian
 
Unit 1 - R Programming (Part 2).pptx
Unit 1 - R Programming (Part 2).pptxUnit 1 - R Programming (Part 2).pptx
Unit 1 - R Programming (Part 2).pptx
Malla Reddy University
 
Introduction to R programming
Introduction to R programmingIntroduction to R programming
Introduction to R programming
Alberto Labarga
 
R Programming: Introduction To R Packages
R Programming: Introduction To R PackagesR Programming: Introduction To R Packages
R Programming: Introduction To R Packages
Rsquared Academy
 
Writing Basic SQL SELECT Statements
Writing Basic SQL SELECT StatementsWriting Basic SQL SELECT Statements
Writing Basic SQL SELECT Statements
Salman Memon
 
Regular expressions in Python
Regular expressions in PythonRegular expressions in Python
Regular expressions in Python
Sujith Kumar
 
Java program structure
Java program structureJava program structure
Java program structure
shalinikarunakaran1
 
List , tuples, dictionaries and regular expressions in python
List , tuples, dictionaries and regular expressions in pythonList , tuples, dictionaries and regular expressions in python
List , tuples, dictionaries and regular expressions in python
channa basava
 
Introduction to R and R Studio
Introduction to R and R StudioIntroduction to R and R Studio
Introduction to R and R Studio
Rupak Roy
 
Chapter 9 Abstract Class
Chapter 9 Abstract ClassChapter 9 Abstract Class
Chapter 9 Abstract Class
OUM SAOKOSAL
 
Oracle Database Sequence
Oracle Database SequenceOracle Database Sequence
Oracle Database Sequence
Eryk Budi Pratama
 

What's hot (20)

11. using regular expressions with oracle database
11. using regular expressions with oracle database11. using regular expressions with oracle database
11. using regular expressions with oracle database
 
MySql slides (ppt)
MySql slides (ppt)MySql slides (ppt)
MySql slides (ppt)
 
2 R Tutorial Programming
2 R Tutorial Programming2 R Tutorial Programming
2 R Tutorial Programming
 
Data Types and Structures in R
Data Types and Structures in RData Types and Structures in R
Data Types and Structures in R
 
Single row functions
Single row functionsSingle row functions
Single row functions
 
C# Inheritance
C# InheritanceC# Inheritance
C# Inheritance
 
Collections in Java Notes
Collections in Java NotesCollections in Java Notes
Collections in Java Notes
 
R studio
R studio R studio
R studio
 
Data type in c
Data type in cData type in c
Data type in c
 
Collections and generics
Collections and genericsCollections and generics
Collections and generics
 
Unit 1 - R Programming (Part 2).pptx
Unit 1 - R Programming (Part 2).pptxUnit 1 - R Programming (Part 2).pptx
Unit 1 - R Programming (Part 2).pptx
 
Introduction to R programming
Introduction to R programmingIntroduction to R programming
Introduction to R programming
 
R Programming: Introduction To R Packages
R Programming: Introduction To R PackagesR Programming: Introduction To R Packages
R Programming: Introduction To R Packages
 
Writing Basic SQL SELECT Statements
Writing Basic SQL SELECT StatementsWriting Basic SQL SELECT Statements
Writing Basic SQL SELECT Statements
 
Regular expressions in Python
Regular expressions in PythonRegular expressions in Python
Regular expressions in Python
 
Java program structure
Java program structureJava program structure
Java program structure
 
List , tuples, dictionaries and regular expressions in python
List , tuples, dictionaries and regular expressions in pythonList , tuples, dictionaries and regular expressions in python
List , tuples, dictionaries and regular expressions in python
 
Introduction to R and R Studio
Introduction to R and R StudioIntroduction to R and R Studio
Introduction to R and R Studio
 
Chapter 9 Abstract Class
Chapter 9 Abstract ClassChapter 9 Abstract Class
Chapter 9 Abstract Class
 
Oracle Database Sequence
Oracle Database SequenceOracle Database Sequence
Oracle Database Sequence
 

Viewers also liked

Data manipulation with dplyr
Data manipulation with dplyrData manipulation with dplyr
Data manipulation with dplyr
Romain Francois
 
Data Manipulation Using R (& dplyr)
Data Manipulation Using R (& dplyr)Data Manipulation Using R (& dplyr)
Data Manipulation Using R (& dplyr)
Ram Narasimhan
 
R seminar dplyr package
R seminar dplyr packageR seminar dplyr package
R seminar dplyr package
Muhammad Nabi Ahmad
 
Plyr, one data analytic strategy
Plyr, one data analytic strategyPlyr, one data analytic strategy
Plyr, one data analytic strategyHadley Wickham
 
WF ED 540, Class Meeting 3 - mutate and summarise, 2016
WF ED 540, Class Meeting 3 - mutate and summarise, 2016WF ED 540, Class Meeting 3 - mutate and summarise, 2016
WF ED 540, Class Meeting 3 - mutate and summarise, 2016
Penn State University
 
WF ED 540, Class Meeting 3 - select, filter, arrange, 2016
WF ED 540, Class Meeting 3 - select, filter, arrange, 2016WF ED 540, Class Meeting 3 - select, filter, arrange, 2016
WF ED 540, Class Meeting 3 - select, filter, arrange, 2016
Penn State University
 
Grouping & Summarizing Data in R
Grouping & Summarizing Data in RGrouping & Summarizing Data in R
Grouping & Summarizing Data in R
Jeffrey Breen
 
5 R Tutorial Data Visualization
5 R Tutorial Data Visualization5 R Tutorial Data Visualization
5 R Tutorial Data Visualization
Sakthi Dasans
 
Fantasy Football Draft Optimization in R - HRUG
Fantasy Football Draft Optimization in R - HRUGFantasy Football Draft Optimization in R - HRUG
Fantasy Football Draft Optimization in R - HRUG
egoodwintx
 
Baseball Database Queries with SQL and dplyr
Baseball Database Queries with SQL and dplyrBaseball Database Queries with SQL and dplyr
Baseball Database Queries with SQL and dplyrayman diab
 
Building powerful dashboards with r shiny
Building powerful dashboards with r shinyBuilding powerful dashboards with r shiny
Building powerful dashboards with r shiny
Victoria Blechman-Pomogajko
 
Open Data Science Conference 2015
Open Data Science Conference 2015Open Data Science Conference 2015
Open Data Science Conference 2015
CrowdFlower
 
20160611 kintone Café 高知 Vol.3 LT資料
20160611 kintone Café 高知 Vol.3 LT資料20160611 kintone Café 高知 Vol.3 LT資料
20160611 kintone Café 高知 Vol.3 LT資料
安隆 沖
 
WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016
WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016
WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016
Penn State University
 
Rlecturenotes
RlecturenotesRlecturenotes
Rlecturenotes
thecar1992
 
Análisis espacial con R (asignatura de Master - UPM)
Análisis espacial con R (asignatura de Master - UPM)Análisis espacial con R (asignatura de Master - UPM)
Análisis espacial con R (asignatura de Master - UPM)
Vladimir Gutierrez, PhD
 
R Brown-bag seminars : Seminar-8
R Brown-bag seminars : Seminar-8R Brown-bag seminars : Seminar-8
R Brown-bag seminars : Seminar-8
Muhammad Nabi Ahmad
 
Paquete ggplot - Potencia y facilidad para generar gráficos en R
Paquete ggplot - Potencia y facilidad para generar gráficos en RPaquete ggplot - Potencia y facilidad para generar gráficos en R
Paquete ggplot - Potencia y facilidad para generar gráficos en R
Nestor Montaño
 

Viewers also liked (20)

Data manipulation with dplyr
Data manipulation with dplyrData manipulation with dplyr
Data manipulation with dplyr
 
Data Manipulation Using R (& dplyr)
Data Manipulation Using R (& dplyr)Data Manipulation Using R (& dplyr)
Data Manipulation Using R (& dplyr)
 
R seminar dplyr package
R seminar dplyr packageR seminar dplyr package
R seminar dplyr package
 
Plyr, one data analytic strategy
Plyr, one data analytic strategyPlyr, one data analytic strategy
Plyr, one data analytic strategy
 
WF ED 540, Class Meeting 3 - mutate and summarise, 2016
WF ED 540, Class Meeting 3 - mutate and summarise, 2016WF ED 540, Class Meeting 3 - mutate and summarise, 2016
WF ED 540, Class Meeting 3 - mutate and summarise, 2016
 
WF ED 540, Class Meeting 3 - select, filter, arrange, 2016
WF ED 540, Class Meeting 3 - select, filter, arrange, 2016WF ED 540, Class Meeting 3 - select, filter, arrange, 2016
WF ED 540, Class Meeting 3 - select, filter, arrange, 2016
 
Grouping & Summarizing Data in R
Grouping & Summarizing Data in RGrouping & Summarizing Data in R
Grouping & Summarizing Data in R
 
03 Cleaning
03 Cleaning03 Cleaning
03 Cleaning
 
10 simulation
10 simulation10 simulation
10 simulation
 
5 R Tutorial Data Visualization
5 R Tutorial Data Visualization5 R Tutorial Data Visualization
5 R Tutorial Data Visualization
 
Fantasy Football Draft Optimization in R - HRUG
Fantasy Football Draft Optimization in R - HRUGFantasy Football Draft Optimization in R - HRUG
Fantasy Football Draft Optimization in R - HRUG
 
Baseball Database Queries with SQL and dplyr
Baseball Database Queries with SQL and dplyrBaseball Database Queries with SQL and dplyr
Baseball Database Queries with SQL and dplyr
 
Building powerful dashboards with r shiny
Building powerful dashboards with r shinyBuilding powerful dashboards with r shiny
Building powerful dashboards with r shiny
 
Open Data Science Conference 2015
Open Data Science Conference 2015Open Data Science Conference 2015
Open Data Science Conference 2015
 
20160611 kintone Café 高知 Vol.3 LT資料
20160611 kintone Café 高知 Vol.3 LT資料20160611 kintone Café 高知 Vol.3 LT資料
20160611 kintone Café 高知 Vol.3 LT資料
 
WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016
WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016
WF ED 540, Class Meeting 3 - Introduction to dplyr, 2016
 
Rlecturenotes
RlecturenotesRlecturenotes
Rlecturenotes
 
Análisis espacial con R (asignatura de Master - UPM)
Análisis espacial con R (asignatura de Master - UPM)Análisis espacial con R (asignatura de Master - UPM)
Análisis espacial con R (asignatura de Master - UPM)
 
R Brown-bag seminars : Seminar-8
R Brown-bag seminars : Seminar-8R Brown-bag seminars : Seminar-8
R Brown-bag seminars : Seminar-8
 
Paquete ggplot - Potencia y facilidad para generar gráficos en R
Paquete ggplot - Potencia y facilidad para generar gráficos en RPaquete ggplot - Potencia y facilidad para generar gráficos en R
Paquete ggplot - Potencia y facilidad para generar gráficos en R
 

Similar to 4 R Tutorial DPLYR Apply Function

Stata Programming Cheat Sheet
Stata Programming Cheat SheetStata Programming Cheat Sheet
Stata Programming Cheat Sheet
Laura Hughes
 
Stata cheatsheet programming
Stata cheatsheet programmingStata cheatsheet programming
Stata cheatsheet programming
Tim Essam
 
Matlab Manual
Matlab ManualMatlab Manual
A brief introduction to apply functions
A brief introduction to apply functionsA brief introduction to apply functions
A brief introduction to apply functions
NIKET CHAURASIA
 
Advance excel
Advance excelAdvance excel
Advance excel
SiddheshHadge
 
Matlab Functions
Matlab FunctionsMatlab Functions
Matlab Functions
Umer Azeem
 
Get started with R lang
Get started with R langGet started with R lang
Get started with R lang
senthil0809
 
Fusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with ViewsFusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with Views
Philip Schwarz
 
Statistics lab 1
Statistics lab 1Statistics lab 1
Statistics lab 1
University of Salerno
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Kurmendra Singh
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013
amanabr
 
MatlabIntro (1).ppt
MatlabIntro (1).pptMatlabIntro (1).ppt
MatlabIntro (1).ppt
AkashSingh728626
 
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
Yao Yao
 
Functions in advanced programming
Functions in advanced programmingFunctions in advanced programming
Functions in advanced programming
VisnuDharsini
 
R programming & Machine Learning
R programming & Machine LearningR programming & Machine Learning
R programming & Machine Learning
AmanBhalla14
 

Similar to 4 R Tutorial DPLYR Apply Function (20)

Stata Programming Cheat Sheet
Stata Programming Cheat SheetStata Programming Cheat Sheet
Stata Programming Cheat Sheet
 
Stata cheatsheet programming
Stata cheatsheet programmingStata cheatsheet programming
Stata cheatsheet programming
 
R Language Introduction
R Language IntroductionR Language Introduction
R Language Introduction
 
Oct.22nd.Presentation.Final
Oct.22nd.Presentation.FinalOct.22nd.Presentation.Final
Oct.22nd.Presentation.Final
 
Matlab Manual
Matlab ManualMatlab Manual
Matlab Manual
 
A brief introduction to apply functions
A brief introduction to apply functionsA brief introduction to apply functions
A brief introduction to apply functions
 
Advance excel
Advance excelAdvance excel
Advance excel
 
Matlab Functions
Matlab FunctionsMatlab Functions
Matlab Functions
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
 
Get started with R lang
Get started with R langGet started with R lang
Get started with R lang
 
Fusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with ViewsFusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with Views
 
Statistics lab 1
Statistics lab 1Statistics lab 1
Statistics lab 1
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013
 
MatlabIntro (1).ppt
MatlabIntro (1).pptMatlabIntro (1).ppt
MatlabIntro (1).ppt
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
 
Functions in advanced programming
Functions in advanced programmingFunctions in advanced programming
Functions in advanced programming
 
R programming & Machine Learning
R programming & Machine LearningR programming & Machine Learning
R programming & Machine Learning
 

Recently uploaded

一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
vcaxypu
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
Jpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization SampleJpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization Sample
James Polillo
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Boston Institute of Analytics
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
ArpitMalhotra16
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
enxupq
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
ewymefz
 
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
correoyaya
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
ewymefz
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
jerlynmaetalle
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflows
alex933524
 

Recently uploaded (20)

一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
Jpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization SampleJpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization Sample
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
 
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflows
 

4 R Tutorial DPLYR Apply Function

  • 1. R Programming Sakthi Dasan Sekar http://shakthydoss.com 1
  • 2. Apply functions Apply functions in R  apply  lapply  sapply  tapply  vapply  mapply These functions usually have apply in there name. They used to apply a specify function to each column or row to R objects They are much more helpful than a for or while loops. http://shakthydoss.com 2
  • 3. Apply functions apply It is used to apply a function to a matrix in row wise or column wise. Returns a vector or array or list. apply(x, margin, function) It takes minimum three arguments 1. matrix / array 2. margin 3. function http://shakthydoss.com 3
  • 4. Apply functions apply apply(x, margin, function) margin - tells whether function need to apply for row or column margin = 1 indicates function need to apply for row margin = 2 indicates function need to apply for column function can be mean, sum, average etc. http://shakthydoss.com 4
  • 5. Apply functions apply Example m <- matrix( c(1,2,3,4),2,2 ) apply(m,1,sum) returns a vector containing sum of rows in the matrix in m returns a vector containing sum of column in the matrix in m apply(m,2,sum) http://shakthydoss.com 5
  • 6. Apply functions lapply lapply function takes list as argument and apply the function by looping through each element in the list. Returns a list. lapply(list, function) It takes minimum two argument 1. List 2. function http://shakthydoss.com 6
  • 7. Apply functions lapply Example list <- list(a = c(1,1), b=c(2,2), c=c(3,3)) lapply(list,sum) Returns a list containing sum of a,b,c. lapply(list,mean) Returns a list containing mean of a,b,c. http://shakthydoss.com 7
  • 8. Apply functions sapply sapply(list, func) It takes minimum two argument 1. list 2. function sapply does every thing similar to lappy expect that sapply can simplify retuning object. If the result is list and every element in list is of size 1 then vector is retuned. If the restult is list and every element in list is of same size (>1) then matrix is returned. Other wise result is retuned as a list itself. http://shakthydoss.com 8
  • 9. Apply functions sapply Example list <- list(a = c(1,1), b=c(2,2), c=c(3,3)) sapply(list,sum) Returns a vector containing sum of a,b,c. list <- list(a = c(1,2), b=c(1,2,3), c=c(1,2,3,4)) sapply(list, range) Returns a matrix containing min and max of a,b,c. http://shakthydoss.com 9
  • 10. Apply functions tapply tapply works on vector, It apply the function by grouping factors inside the vector. tapply(x, factor, fun) It takes minimum three arguments 1. vector 2. factor of vector 3. function http://shakthydoss.com 10
  • 11. Apply functions tapply Example age <- c(23,33,28,21,20,19,34) gender <- c("m","m","m","f","f","f","m") f <- factor(gender) tapply(age,f,mean) Returns the mean age for male and female. http://shakthydoss.com 11
  • 12. Apply functions vapply vapply works just like sapply except that you need to specify the type of return value (integer, double, characters). vapply is generally safer and faster than sapply. Vapply can save some time in coercing returned values to fit in a single atomic vector. vapply(x, function, FUN.VALUE) It takes minimum three arguments 1. list 2. function 3. return value (integer, double, characters) http://shakthydoss.com 12
  • 13. Apply functions vapply Example list <- list(a = c(1,1), b=c(2,2), c=c(3,3)) vapply(list, sum, FUN.VALUE=double(1)) http://shakthydoss.com 13
  • 14. Apply functions mapply mapply is a multivariate version of sapply. mapply applies FUN to the first elements of each ... argument, the second elements, the third elements, and so on. Arguments are recycled if necessary. mapply(FUN, ...) http://shakthydoss.com 14
  • 15. Apply functions Example list(rep(1, 4), rep(2, 3), rep(3, 2), rep(4, 1)) We see that we are repeatedly calling the same function (rep) where the first argument varies from 1 to 4, and the second argument varies from 4 to 1. Instead, we can use mapply: mapply(rep, 1:4, 4:1) which will produce the same result. http://shakthydoss.com 15
  • 16. dplyr package dplyr overview dplyr is a powerful R-package to transform and summarize tabular data with rows and columns. By constraining your options, it simplifies how you can think about common data manipulation tasks. It provides simple “verbs”, functions that correspond to the most common data manipulation tasks, to help you translate those thoughts into code. It uses efficient data storage backends, so you spend less time waiting for the computer. http://shakthydoss.com 16
  • 17. dplyr package dplyr is grammar for data manipulation. It provides five verbs, basically function that can be applied on the data set 1. select - used to select rows in table or data.frame 2. filter - used to filter records in table or data.frame 3. arrange - used for re arranging the table or data.frame 4. mutate - used for adding new data 5. summarize - states the summary of data http://shakthydoss.com 17
  • 18. dplyr package dplyr installation dplyr is not one among the default package, you have to install them separately install.packages("dplyr") loading dplyr into memory library(dplyr) http://shakthydoss.com 18
  • 19. dplyr package dplyr - Select Often you work with large datasets with many columns but only a few are actually of interest to you. select function allows you to rapidly select only the interest columns in your dataset. To select columns by name select(mtcars, mpg, disp) To select a range of columns by name, use the “:” (from:to) operator select(mtcars, mpg:hp) http://shakthydoss.com 19
  • 20. dplyr package dplyr - Select To select with columns and row with string match. select(iris, starts_with("Petal")) select(iris, ends_with("Width")) select(iris, contains("etal")) select(iris, matches(".t.")) http://shakthydoss.com 20
  • 21. dplyr package dplyr - Select You can rename variables with select() by using named arguments. Example select(mtcars, miles_per_gallon = mpg) http://shakthydoss.com 21
  • 22. dplyr package dplyr - filter Filter function in dplyr allows you to easily to filter, zoom in and zoom out of data your are interested. filter(data, condition,..) Simple filter filter(mtcars, cyl == 8) filter(mtcars, cyl < 6) http://shakthydoss.com 22
  • 23. dplyr package dplyr - filter Multiple criteria filter filter(mtcars, cyl < 6 & vs == 1) filter(mtcars, cyl < 6 | vs == 1) Comma separated arguments are equivalent to "And" condition filter(mtcars, cyl < 6, vs == 1) http://shakthydoss.com 23
  • 24. dplyr package dplyr - arrange arrange function basically used to arrange the data in specify order. You can use desc to arrange the data in descending order. arrange(data, ordering_column ) http://shakthydoss.com 24
  • 25. dplyr package dplyr - arrange Example Range the data by cyl and disp arrange(mtcars, cyl, disp) Range the data by descending order of disp arrange(mtcars, desc(disp)) http://shakthydoss.com 25
  • 26. dplyr package dplyr - mutate mutate function helps to adds new variables to existing data set. Example mutate(mtcars, my_custom_disp = disp / 1.0237) my_custom_disp will be added to mtcars dataset. http://shakthydoss.com 26
  • 27. dplyr package dplyr - summarise dplyr summarise function help to Summarise multiple values to a single value in the dataset. summarise(mtcars, mean(disp)) summarize with group function summarise(group_by(mtcars, cyl), mean(disp)) summarise(group_by(mtcars, cyl), m = mean(disp), sd = sd(disp)) http://shakthydoss.com 27
  • 28. dplyr package dplyr - summarise List of Summary function that can be used inside dplyr summarise mean, median, mode, max, min, sun, var, length, IQR First - returns the first element of vector last - returns the last element of vector nth(x,n) - The 'n' the element of vector n() - the number of rows in the data.frame n_distinct(x) - the number of unique value in vector x http://shakthydoss.com 28
  • 29. DPLYR & APPLY FUNCTION Knowledge Check http://shakthydoss.com 29
  • 30. DPLYR & APPLY FUNCTION Apply functions in R used to apply a specify function to each column or row to R objects. A. TRUE B. FALSE Answer A http://shakthydoss.com 30
  • 31. DPLYR & APPLY FUNCTION Which one of the following is true about function apply(x, margin, function) A. When margin = 2 it indicates function need to apply for row. B. When margin = 1, it indicates function need to apply for row. C. x must be of type list. D. only arithmetic functions can be passed into apply function. Answer B http://shakthydoss.com 31
  • 32. DPLYR & APPLY FUNCTION Define lapply. A. lapply function takes list as argument and apply the function by looping through each element in the list. B. lapply function takes list, array or matrix and apply the function by looping through each element in the list. C. lapply is not standalone. it should with apply function. D. lapply is used when latitude and longitude comes into to picture. Answer A http://shakthydoss.com 32
  • 33. DPLYR & APPLY FUNCTION dplyr is a powerful R-package to transform and summarize tabular data with rows and columns. It also refered as grammar for data manipulation. A. TRUE B. FALSE Answer A http://shakthydoss.com 33
  • 34. DPLYR & APPLY FUNCTION How do you rearrange the order of column in data set using dplyr functions. A. order_data(data, ordering_column) B. sort_data(data,ordering_column) C. dplyr(data,ordering_column) D. arrange(data, ordering_column) Answer D http://shakthydoss.com 34