x <- 1
x
## [1] 1
y = 1
y
## [1] 1
x <- y <- z <- 23
Remarque : porté des variables ! différents des autres languages
VAR <<- 42
a <- 3.14
b <- 23
class(a)
## [1] "numeric"
fname <- "Jimmy"; lname <- "Lopez"
name <- paste(fname, lname, sep = " ")
name
## [1] "Jimmy Lopez"
s1 <- paste0("Eco", "tron")
s1
## [1] "Ecotron"
u <- TRUE; v <- FALSE
u2 <- T; v2 <- F
u
## [1] TRUE
p1 <- NULL
p2 <- NA
p3 <- NaN
p1
## NULL
p2
## [1] NA
p3
## [1] NaN
Un seul type mais : TRUE < 3 < “s” et NA NULL NaN neutre
v1 <- c(2, 3, 5)
v1
## [1] 2 3 5
v2 <- c(1:10)
v2
## [1] 1 2 3 4 5 6 7 8 9 10
v3 <- c(rep(1, 10))
v3
## [1] 1 1 1 1 1 1 1 1 1 1
v4 <- c(a, b)
v4
## [1] 3.14 23.00
v5 <- c(TRUE, FALSE)
v5
## [1] TRUE FALSE
v6 <- c(v1, v5) # ! convertion de type
v6
## [1] 2 3 5 1 0
v7 <- c("toto", "tutu")
v7
## [1] "toto" "tutu"
v8 <- c(v6, v7) # ! convertion de type
v8
## [1] "2" "3" "5" "1" "0" "toto" "tutu"
v9 <- c(c(3,4), "3")
v9
## [1] "3" "4" "3"
! l’indice des tableaux ou autre commence à 1
v1 <- c(2, 3, 5)
v1[1]
## [1] 2
v1[2] <- 42
v1
## [1] 2 42 5
v1 <- c(v1, 13)
v1
## [1] 2 42 5 13
v1[-4] # ! supprime l'indice 4
## [1] 2 42 5
v1
## [1] 2 42 5 13
v1[1:2]
## [1] 2 42
Pour avoir la taille de notre vecteur
v1 <- c(2, 3, 5)
length(v1)
## [1] 3
Un seul type de donnée
m1 <- matrix(0, nrow = 5, ncol = 4)
m1
## [,1] [,2] [,3] [,4]
## [1,] 0 0 0 0
## [2,] 0 0 0 0
## [3,] 0 0 0 0
## [4,] 0 0 0 0
## [5,] 0 0 0 0
m2 <- matrix(1:20, nrow = 5, ncol = 4)
m2
## [,1] [,2] [,3] [,4]
## [1,] 1 6 11 16
## [2,] 2 7 12 17
## [3,] 3 8 13 18
## [4,] 4 9 14 19
## [5,] 5 10 15 20
length(m1)
## [1] 20
nrow(m1)
## [1] 5
ncol(m1)
## [1] 4
m2[3,2]
## [1] 8
m2[3,]
## [1] 3 8 13 18
m2[,2]
## [1] 6 7 8 9 10
m2[c(2,4), c(1,3)]
## [,1] [,2]
## [1,] 2 12
## [2,] 4 14
Translation
m2 <- matrix(1:20, nrow = 5, ncol = 4)
m2
## [,1] [,2] [,3] [,4]
## [1,] 1 6 11 16
## [2,] 2 7 12 17
## [3,] 3 8 13 18
## [4,] 4 9 14 19
## [5,] 5 10 15 20
t(m2)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 6 7 8 9 10
## [3,] 11 12 13 14 15
## [4,] 16 17 18 19 20
Diagonale
m2 <- matrix(1:16, nrow = 4, ncol = 4)
diag(m2)
## [1] 1 6 11 16
Un seul type de donnée
ar1 <- array(1:60, dim=c(3,4,5))
ar1
## , , 1
##
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
##
## , , 2
##
## [,1] [,2] [,3] [,4]
## [1,] 13 16 19 22
## [2,] 14 17 20 23
## [3,] 15 18 21 24
##
## , , 3
##
## [,1] [,2] [,3] [,4]
## [1,] 25 28 31 34
## [2,] 26 29 32 35
## [3,] 27 30 33 36
##
## , , 4
##
## [,1] [,2] [,3] [,4]
## [1,] 37 40 43 46
## [2,] 38 41 44 47
## [3,] 39 42 45 48
##
## , , 5
##
## [,1] [,2] [,3] [,4]
## [1,] 49 52 55 58
## [2,] 50 53 56 59
## [3,] 51 54 57 60
Plusieurs type de données
l1 <- list(e1=c(2, 3, 5), e2=c("aa", "bb"), e3=3)
l1
## $e1
## [1] 2 3 5
##
## $e2
## [1] "aa" "bb"
##
## $e3
## [1] 3
l1$e1
## [1] 2 3 5
l1["e1"]
## $e1
## [1] 2 3 5
l1[["e1"]]
## [1] 2 3 5
l1$e3 = c(FALSE)
#pas obligé de nommer
l2 <- list(1,2,3)
l2
## [[1]]
## [1] 1
##
## [[2]]
## [1] 2
##
## [[3]]
## [1] 3
length(l2) # la taille de notre liste
## [1] 3
Attention : ne permet pas de fusionner
l3 <- list(l1, l2) # list of list
l3
## [[1]]
## [[1]]$e1
## [1] 2 3 5
##
## [[1]]$e2
## [1] "aa" "bb"
##
## [[1]]$e3
## [1] FALSE
##
##
## [[2]]
## [[2]][[1]]
## [1] 1
##
## [[2]][[2]]
## [1] 2
##
## [[2]][[3]]
## [1] 3
Pour la fusion de list
l4 <- append(l1, l2) # l2 dans l1
l4
## $e1
## [1] 2 3 5
##
## $e2
## [1] "aa" "bb"
##
## $e3
## [1] FALSE
##
## [[4]]
## [1] 1
##
## [[5]]
## [1] 2
##
## [[6]]
## [1] 3
prenom <- c("jimmy", "khalid", "joana")
nom <- c("lopez", "belkhir", "sauze")
team <- c("MBB", "MBB", "ecotron")
data <- data.frame(prenom, nom, team)
data
## prenom nom team
## 1 jimmy lopez MBB
## 2 khalid belkhir MBB
## 3 joana sauze ecotron
rownames(data) <- c("p1", "p2", "p3")
colnames(data) <- c("nom", "prenom", "plateforme")
data
## nom prenom plateforme
## p1 jimmy lopez MBB
## p2 khalid belkhir MBB
## p3 joana sauze ecotron
data["p1","nom"]
## [1] jimmy
## Levels: jimmy joana khalid
data["nom"]
## nom
## p1 jimmy
## p2 khalid
## p3 joana
data["p1",]
## nom prenom plateforme
## p1 jimmy lopez MBB
data[c("nom", "plateforme")]
## nom plateforme
## p1 jimmy MBB
## p2 khalid MBB
## p3 joana ecotron
data[1,2]
## [1] lopez
## Levels: belkhir lopez sauze
data$prenom
## [1] lopez belkhir sauze
## Levels: belkhir lopez sauze
data$new_c <- c(4,3,2)
data
## nom prenom plateforme new_c
## p1 jimmy lopez MBB 4
## p2 khalid belkhir MBB 3
## p3 joana sauze ecotron 2
data[3, 2] # factor
## [1] sauze
## Levels: belkhir lopez sauze
nrow(data)
## [1] 3
ncol(data)
## [1] 4
Fusion de data.frame : doit avoir même nom de colonne
fred <- data.frame(nom="fred",prenom="snow",plateforme="NEW")
bob <- data.frame(nom="bob",prenom="daul",plateforme="NEW2")
data <- rbind(fred, bob)
data
## nom prenom plateforme
## 1 fred snow NEW
## 2 bob daul NEW2
Les noms des colonnes seront choisie pour vous
d1 <- data.frame(1,2,3)
d1
## X1 X2 X3
## 1 1 2 3
o1 <- 3 + 2.5
o1
## [1] 5.5
o2 <- TRUE + 3
o2
## [1] 4
o3 <- c(1:10) * 3
o3
## [1] 3 6 9 12 15 18 21 24 27 30
! Possible mais la taille d’un objet plus long n’est pas multiple de la taille d’un objet plus court
o4 <- c(1:10) * c(2, 3, 5) # v2 * c(2,3,4)
## Warning in c(1:10) * c(2, 3, 5): la taille d'un objet plus long n'est pas
## multiple de la taille d'un objet plus court
o4
## [1] 2 6 15 8 15 30 14 24 45 20
o5 <- m2 * 2
o5
## [,1] [,2] [,3] [,4]
## [1,] 2 10 18 26
## [2,] 4 12 20 28
## [3,] 6 14 22 30
## [4,] 8 16 24 32
o6 <- m2 * v2 # mais la aussi attention à la taille r * c * n = l
## Warning in m2 * v2: la taille d'un objet plus long n'est pas multiple de la
## taille d'un objet plus court
o6
## [,1] [,2] [,3] [,4]
## [1,] 1 25 81 39
## [2,] 4 36 100 56
## [3,] 9 49 11 75
## [4,] 16 64 24 96
5 / 2
## [1] 2.5
5 %% 2
## [1] 1
5 %/% 2
## [1] 2
2 ^ 3
## [1] 8
! : négation
En R pas de ++ -- += -=
x <- 6
if( x == 3 ) {
print("OK")
} else if ( x < 5 ) {
print (" < 5 ")
} else if ( x > 7 ) {
print (" > 7 ")
} else {
print("else")
}
## [1] "else"
For par élément
v2 <- c(1:10)
for (e in v2) {
print(e)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
For par indice
v2 <- c(1:10)
for(x in 1:length(v2)) {
print(v2[x])
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
Next et Break
v2 <- c(1:10)
for (e in v2) {
if (!(e %% 2)){ # 0 = FALSE ; other numeric = TRUE
next
}
if(e == 9) {
break
}
print(e)
}
## [1] 1
## [1] 3
## [1] 5
## [1] 7
m3 <- matrix(0, 4, 5)
m3
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 0 0 0 0
## [2,] 0 0 0 0 0
## [3,] 0 0 0 0 0
## [4,] 0 0 0 0 0
for (i in 1:nrow(m3)) {
for (j in 1:ncol(m3)) {
m3[i, j] <- i + j
}
}
m3
## [,1] [,2] [,3] [,4] [,5]
## [1,] 2 3 4 5 6
## [2,] 3 4 5 6 7
## [3,] 4 5 6 7 8
## [4,] 5 6 7 8 9
While
i <- 1
while (i < 6) {
print(i)
i = i+1
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
Repeat
x <- 1
repeat {
print(x)
x = x+1
if (x == 6){
break
}
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
increment <- function(x) {
res <- x + 1
return(res)
}
increment(22)
## [1] 23
mult <- function(x = 1, y = 1) {
return(x*y)
}
mult()
## [1] 1
mult(3)
## [1] 3
mult(y = 2)
## [1] 2
mult(3,2)
## [1] 6
mult(y <- 2) # attention car init la var y et en plus x = 2 et y = 1
## [1] 2
getPI <- function() {
return(3.14159265359)
}
getPI()
## [1] 3.141593
Quelques fonction de base :
x <- c(9,5,6,8,4,11,36,59,12)
sum(x) # somme des éléments de x
## [1] 150
prod(x) # produit des éléments de x
## [1] 2422379520
max(x) # maximum des éléments de x
## [1] 59
min(x) # minimum des éléments de x
## [1] 4
which.max(x) # retourne l'indice du maximum des éléments de x
## [1] 8
which.min(x) # retourne l'indice du minimum des éléments de x
## [1] 5
range(x) # idem que c(min(x), max(x)); vector
## [1] 4 59
length(x) # nombre d'éléments dans x
## [1] 9
mean(x) # moyenne des éléments de x
## [1] 16.66667
median(x) # médiane des éléments de x
## [1] 9
class(x)
## [1] "numeric"
as.numeric("56") # else NA
## [1] 56
as.character(123) # as. ...
## [1] "123"
is.null(x) #is. ...
## [1] FALSE
is.numeric(x)
## [1] TRUE
is.vector(x)
## [1] TRUE
Attention ne pas nommer des fonctions de base ou de package
sum <- function(x) {
return(42)
}
x <- c(9,5,6,8,4,11,36,59,12)
sum(x)
## [1] 42
base::sum(x)
## [1] 150
Fonction dans une fonction
foo <- function() { # function in function
bar <- function() { # private function, possible mais peut utile
return(4)
}
return(3+bar())
}
foo()
## [1] 7
The data was extracted from the 1974 Motor Trend US magazine, and comprises fuel consumption and 10 aspects of automobile design and performance for 32 automobiles (1973–74 models).
mtcars
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
write.csv(mtcars, "exemple_1.csv")
write.csv(mtcars, "exemple_2.csv", row.names = F)
write.csv2(mtcars, "exemple_3.csv")
cars <- read.csv("exemple_1.csv")
cars
## X mpg cyl disp hp drat wt qsec vs am gear carb
## 1 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## 2 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## 3 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## 4 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## 5 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## 6 Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## 7 Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## 8 Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## 9 Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## 10 Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## 11 Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## 12 Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## 13 Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## 14 Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## 15 Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## 16 Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## 17 Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## 18 Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## 19 Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## 20 Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## 21 Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## 22 Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## 23 AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## 24 Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## 25 Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## 26 Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## 27 Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## 28 Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## 29 Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## 30 Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## 31 Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## 32 Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
cars3 <- read.csv("exemple_3.csv", sep = ";")
cars3
## X mpg cyl disp hp drat wt qsec vs am gear carb
## 1 Mazda RX4 21 6 160 110 3,9 2,62 16,46 0 1 4 4
## 2 Mazda RX4 Wag 21 6 160 110 3,9 2,875 17,02 0 1 4 4
## 3 Datsun 710 22,8 4 108 93 3,85 2,32 18,61 1 1 4 1
## 4 Hornet 4 Drive 21,4 6 258 110 3,08 3,215 19,44 1 0 3 1
## 5 Hornet Sportabout 18,7 8 360 175 3,15 3,44 17,02 0 0 3 2
## 6 Valiant 18,1 6 225 105 2,76 3,46 20,22 1 0 3 1
## 7 Duster 360 14,3 8 360 245 3,21 3,57 15,84 0 0 3 4
## 8 Merc 240D 24,4 4 146,7 62 3,69 3,19 20 1 0 4 2
## 9 Merc 230 22,8 4 140,8 95 3,92 3,15 22,9 1 0 4 2
## 10 Merc 280 19,2 6 167,6 123 3,92 3,44 18,3 1 0 4 4
## 11 Merc 280C 17,8 6 167,6 123 3,92 3,44 18,9 1 0 4 4
## 12 Merc 450SE 16,4 8 275,8 180 3,07 4,07 17,4 0 0 3 3
## 13 Merc 450SL 17,3 8 275,8 180 3,07 3,73 17,6 0 0 3 3
## 14 Merc 450SLC 15,2 8 275,8 180 3,07 3,78 18 0 0 3 3
## 15 Cadillac Fleetwood 10,4 8 472 205 2,93 5,25 17,98 0 0 3 4
## 16 Lincoln Continental 10,4 8 460 215 3 5,424 17,82 0 0 3 4
## 17 Chrysler Imperial 14,7 8 440 230 3,23 5,345 17,42 0 0 3 4
## 18 Fiat 128 32,4 4 78,7 66 4,08 2,2 19,47 1 1 4 1
## 19 Honda Civic 30,4 4 75,7 52 4,93 1,615 18,52 1 1 4 2
## 20 Toyota Corolla 33,9 4 71,1 65 4,22 1,835 19,9 1 1 4 1
## 21 Toyota Corona 21,5 4 120,1 97 3,7 2,465 20,01 1 0 3 1
## 22 Dodge Challenger 15,5 8 318 150 2,76 3,52 16,87 0 0 3 2
## 23 AMC Javelin 15,2 8 304 150 3,15 3,435 17,3 0 0 3 2
## 24 Camaro Z28 13,3 8 350 245 3,73 3,84 15,41 0 0 3 4
## 25 Pontiac Firebird 19,2 8 400 175 3,08 3,845 17,05 0 0 3 2
## 26 Fiat X1-9 27,3 4 79 66 4,08 1,935 18,9 1 1 4 1
## 27 Porsche 914-2 26 4 120,3 91 4,43 2,14 16,7 0 1 5 2
## 28 Lotus Europa 30,4 4 95,1 113 3,77 1,513 16,9 1 1 5 2
## 29 Ford Pantera L 15,8 8 351 264 4,22 3,17 14,5 0 1 5 4
## 30 Ferrari Dino 19,7 6 145 175 3,62 2,77 15,5 0 1 5 6
## 31 Maserati Bora 15 8 301 335 3,54 3,57 14,6 0 1 5 8
## 32 Volvo 142E 21,4 4 121 109 4,11 2,78 18,6 1 1 4 2
# other write si pas un csv
source("./tools.R") # on charge un autre script R
jimmy_sub1()
## [1] "call sub function"
#install.packages('ggplot2')
library(ggplot2)
data <- data.frame(a=1:7, b=c(2, 5, 6, 12, 20, 3, 7))
p <- ggplot(data=data, aes(x=a, y=b,colour="Cond"))
p <- p + geom_point(size=4)
p <- p + geom_line(size=2)
p
?ggplot2 # info sur le package
?ggplot # info sur la fonction
library (dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
mtcars
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
select(mtcars, drat) # on sélectionne une colonne
## drat
## Mazda RX4 3.90
## Mazda RX4 Wag 3.90
## Datsun 710 3.85
## Hornet 4 Drive 3.08
## Hornet Sportabout 3.15
## Valiant 2.76
## Duster 360 3.21
## Merc 240D 3.69
## Merc 230 3.92
## Merc 280 3.92
## Merc 280C 3.92
## Merc 450SE 3.07
## Merc 450SL 3.07
## Merc 450SLC 3.07
## Cadillac Fleetwood 2.93
## Lincoln Continental 3.00
## Chrysler Imperial 3.23
## Fiat 128 4.08
## Honda Civic 4.93
## Toyota Corolla 4.22
## Toyota Corona 3.70
## Dodge Challenger 2.76
## AMC Javelin 3.15
## Camaro Z28 3.73
## Pontiac Firebird 3.08
## Fiat X1-9 4.08
## Porsche 914-2 4.43
## Lotus Europa 3.77
## Ford Pantera L 4.22
## Ferrari Dino 3.62
## Maserati Bora 3.54
## Volvo 142E 4.11
mtcars["drat"] # équivalent classique
## drat
## Mazda RX4 3.90
## Mazda RX4 Wag 3.90
## Datsun 710 3.85
## Hornet 4 Drive 3.08
## Hornet Sportabout 3.15
## Valiant 2.76
## Duster 360 3.21
## Merc 240D 3.69
## Merc 230 3.92
## Merc 280 3.92
## Merc 280C 3.92
## Merc 450SE 3.07
## Merc 450SL 3.07
## Merc 450SLC 3.07
## Cadillac Fleetwood 2.93
## Lincoln Continental 3.00
## Chrysler Imperial 3.23
## Fiat 128 4.08
## Honda Civic 4.93
## Toyota Corolla 4.22
## Toyota Corona 3.70
## Dodge Challenger 2.76
## AMC Javelin 3.15
## Camaro Z28 3.73
## Pontiac Firebird 3.08
## Fiat X1-9 4.08
## Porsche 914-2 4.43
## Lotus Europa 3.77
## Ford Pantera L 4.22
## Ferrari Dino 3.62
## Maserati Bora 3.54
## Volvo 142E 4.11
select(mtcars, -drat) # on élimine une colonne
## mpg cyl disp hp wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 2.780 18.60 1 1 4 2
mtcars[,! names(data) %in% c("drat")] # équivalent classique
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
filter(mtcars, disp > 160, drat < 3) # pour filtrer
## mpg cyl disp hp drat wt qsec vs am gear carb
## 1 18.1 6 225 105 2.76 3.46 20.22 1 0 3 1
## 2 10.4 8 472 205 2.93 5.25 17.98 0 0 3 4
## 3 15.5 8 318 150 2.76 3.52 16.87 0 0 3 2
f1 <- mtcars[mtcars$disp>160,]
f1[f1$drat < 3, ] # équivalent classique
## mpg cyl disp hp drat wt qsec vs am gear carb
## Valiant 18.1 6 225 105 2.76 3.46 20.22 1 0 3 1
## Cadillac Fleetwood 10.4 8 472 205 2.93 5.25 17.98 0 0 3 4
## Dodge Challenger 15.5 8 318 150 2.76 3.52 16.87 0 0 3 2
arrange(mtcars, disp) # on range dans l'ordre croissant
## mpg cyl disp hp drat wt qsec vs am gear carb
## 1 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## 2 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## 3 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## 4 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## 5 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## 6 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## 7 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## 8 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## 9 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
## 10 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## 11 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## 12 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## 13 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## 14 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## 15 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## 16 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## 17 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## 18 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## 19 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## 20 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## 21 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## 22 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## 23 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## 24 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## 25 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## 26 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## 27 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## 28 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## 29 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## 30 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## 31 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## 32 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
mtcars[order(mtcars$disp),] # équivalent classique
## mpg cyl disp hp drat wt qsec vs am gear carb
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
arrange(mtcars, desc(disp)) # on range dans l'ordre croissant
## mpg cyl disp hp drat wt qsec vs am gear carb
## 1 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## 2 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## 3 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## 4 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## 5 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## 6 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## 7 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## 8 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## 9 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## 10 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## 11 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## 12 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## 13 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## 14 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## 15 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## 16 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## 17 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## 18 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## 19 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## 20 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## 21 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## 22 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## 23 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## 24 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
## 25 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## 26 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## 27 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## 28 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## 29 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## 30 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## 31 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## 32 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
mtcars[order(-mtcars$disp),] # équivalent classique
## mpg cyl disp hp drat wt qsec vs am gear carb
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
Utilisation de l’operateur ‘%>%’ pour plus de souplesse
mtcars %>% select(drat, wt, am) %>% filter(drat < 3) %>% arrange(desc(wt))
## drat wt am
## 1 2.93 5.25 0
## 2 2.76 3.52 0
## 3 2.76 3.46 0
f1 <- mtcars[c("drat", "wt", "am")]
f2 <- f1[f1$drat < 3,]
f3 <- f2[order(-f2$wt),]
f3
## drat wt am
## Cadillac Fleetwood 2.93 5.25 0
## Dodge Challenger 2.76 3.52 0
## Valiant 2.76 3.46 0
library(RMySQL)
## Loading required package: DBI
library(pool)
connectDB <- function() {
pool <- dbPool(
drv = RMySQL::MySQL(),
dbname = "earthworms",
host = "localhost",
username = "root",
password = "mbb"
)
return(pool)
}
#' Get the data in range from data base
#' @param name a character : the name of table in DB
#' @param start a character : the start Timestamp
#' @param end a character : the end Timestamp
#' @return a data.frame
get_data_in_range <- function(name, start, end) {
pool = connectDB()
sql <- paste0("select `Timestamp`, `Value` from `", name, "` WHERE `Timestamp` between '", start, "' AND '", end, "';")
#print(sql)
query <- suppressWarnings(sqlInterpolate(pool, sql))
data <- suppressWarnings(dbGetQuery(pool, query))
poolClose(pool) #important
return(data)
}
# TAIR m1 consigne
data <- get_data_in_range("cfp_mac1_vir_cons_t_regul", "2018-03-03 07:19:38", "2018-03-03 18:36:14")
mean(data$Value)
## [1] 3.838089
max(data$Value)
## [1] 5.5315
min(data$Value)
## [1] 1.6365
max(data$Timestamp)
## [1] "2018-03-03 18:36:03"
min(data$Timestamp)
## [1] "2018-03-03 07:19:51"
7) Comment optimiser les boucles
Attention si dépendances entre les indices