Professional Documents
Culture Documents
Jasmine Dumas
August 19, 2016
General Queries (file:///Users/User/Downloads/sqldf_tutorial%20(4).html#general-queries)
Aggregate Queries (file:///Users/User/Downloads/sqldf_tutorial%20(4).html#aggregate-
queries)
Wild card match Queries (file:///Users/User/Downloads/sqldf_tutorial%20(4).html#wild-card-
match-queries)
Manipulation & Nested Queries
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#manipulation-nested-queries)
Join Queries (file:///Users/User/Downloads/sqldf_tutorial%20(4).html#join-queries)
Resources (file:///Users/User/Downloads/sqldf_tutorial%20(4).html#resources)
##Example Data
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb1-1)# libraries
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb1-2)library(sqldf
)
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb5-1)library(RH2)
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb12-1)majors <- da
ta.frame(major = c("math", "biology", "engineering", "computer scien
ce", "history", "architecture"), Dept = c(LETTERS[1:5], "Other"), Fa
culty = round(runif(6, min = 10, max = 30)))
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb12-2)
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb12-3)sqldf("selec
t * from majors")
## major Dept Faculty
## 1 math A 12
## 2 biology B 26
## 3 engineering C 26
## 4 computer science D 16
## 5 history E 23
## 6 architecture Other 11
General Queries
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb14-1)# Return Fem
ale student admission result
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb14-2)sqldf("selec
t * from ucb where Gender = 'Female'")
## Dept
## 1 A
## 2 B
## 3 C
## 4 D
## 5 E
## 6 F
Aggregate Queries
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb22-1)# total admi
tted studets
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb22-2)sqldf("selec
t sum(Freq) from ucb where Admit = 'Admitted'")
## SUM("Freq")
## 1 1755
## SUM("Freq")
## 1 2771
## total_dudes
## 1 1198
## total_ladies
## 1 1278
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb30-1)# average nu
mber of admitted student by department (usually mean)
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb30-2)sqldf("selec
t Dept, avg(Freq) as average_admitted from ucb where Admit = 'Admitt
ed' group by Dept")
## Dept average_admitted
## 1 A 300.5
## 2 B 185.0
## 3 C 161.0
## 4 D 134.5
## 5 E 73.5
## 6 F 23.0
## COUNT("major")
## 1 6
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb34-1)# minimum am
ount of studets rejected
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb34-2)sqldf("selec
t min(Freq) from ucb where Admit = 'Rejected'")
## MIN("Freq")
## 1 8
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb38-1)sqldf("selec
t * from ucb where Gender Like 'Fe%'")
## Admit Gender Dept Freq
## 1 Admitted Female A 89
## 2 Rejected Female A 19
## 3 Admitted Female B 17
## 4 Rejected Female B 8
## 5 Admitted Female C 202
## 6 Rejected Female C 391
## 7 Admitted Female D 131
## 8 Rejected Female D 244
## 9 Admitted Female E 94
## 10 Rejected Female E 299
## 11 Admitted Female F 24
## 12 Rejected Female F 317
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb40-1)sqldf("selec
t * from ucb where Gender Like '%male%'")
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb42-1)sqldf("selec
t * from ucb where Gender Like 'Ma%'")
## Admit Gender Dept Freq
## 1 Admitted Male A 512
## 2 Rejected Male A 313
## 3 Admitted Male B 353
## 4 Rejected Male B 207
## 5 Admitted Male C 120
## 6 Rejected Male C 205
## 7 Admitted Male D 138
## 8 Rejected Male D 279
## 9 Admitted Male E 53
## 10 Rejected Male E 138
## 11 Admitted Male F 22
## 12 Rejected Male F 351
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb44-1)sqldf("selec
t * from ucb where Gender = 'Female' AND Freq >= 100 ")
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb46-1)sqldf("selec
t * from ucb where Gender Like '_ale'")
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb48-1)sqldf("selec
t * from ucb where Gender NOT Like 'M_l_'")
## Admit Gender Dept Freq
## 1 Admitted Female A 89
## 2 Rejected Female A 19
## 3 Admitted Female B 17
## 4 Rejected Female B 8
## 5 Admitted Female C 202
## 6 Rejected Female C 391
## 7 Admitted Female D 131
## 8 Rejected Female D 244
## 9 Admitted Female E 94
## 10 Rejected Female E 299
## 11 Admitted Female F 24
## 12 Rejected Female F 317
## Dept
## 1 A
## Dept
## 1 C
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb54-1)# department
with most faculty
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb54-2)sqldf("selec
t Dept from majors where Faculty = (select max(Faculty) from majors)
")
## Dept
## 1 B
## 2 C
Join Queries
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb56-1)# join the t
wo tables together by the common key
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb56-2)sqldf("selec
t * from ucb
(file:///Users/User/Downloads/sqldf_tutorial%20(4).html#cb56-3) inner
join majors on ucb.Dept = majors.Dept")
Resources
https://cran.r-project.org/web/packages/sqldf/sqldf.pdf (https://cran.r-
project.org/web/packages/sqldf/sqldf.pdf)
https://github.com/ggrothendieck/sqldf (https://github.com/ggrothendieck/sqldf)
http://www.w3schools.com/sql/default.asp (http://www.w3schools.com/sql/default.asp)
fin.