Exercices

Création de vecteurs

  1. Créer un vecteur v1 qui va de \(1\) à \(-1\) par pas de \(-0.25\)
> v1 = seq(1, -1, by = -.25)
> print(v1)
[1]  1.00  0.75  0.50  0.25  0.00 -0.25 -0.50 -0.75 -1.00
  1. Créer un vecteur v2 qui va de \(0\) à \(100\) d’une longueur de \(23\)
> v2 = seq(0, 100, length = 23)
> print(v2)
 [1]   0.000000   4.545455   9.090909  13.636364  18.181818  22.727273
 [7]  27.272727  31.818182  36.363636  40.909091  45.454545  50.000000
[13]  54.545455  59.090909  63.636364  68.181818  72.727273  77.272727
[19]  81.818182  86.363636  90.909091  95.454545 100.000000
  1. Créer un vecteur v3 qui contient les chaînes : "1ère année", "2ème année", "LP"
> v3 = c("1ère année","2ème année","LP")
> print(v3)
[1] "1ère année" "2ème année" "LP"        
  1. Créer un vecteur v4 qui répéte trois fois la chaîne "promo"
> v4 = rep("promo", 3)
> print(v4)
[1] "promo" "promo" "promo"
  1. Regrouper les vecteurs v3 et v4, pour avoir le vecteur v5 suivant
> v5 = paste(v4, v3, sep = "=")
> print(v5)
[1] "promo=1ère année" "promo=2ème année" "promo=LP"        
  1. Améliorer le code suivant pour avoir le vecteur v6 suivant
> v6 = paste(v4, paste("'", v3, "'", sep = ""), sep = "=")
> print(v6)
[1] "promo='1ère année'" "promo='2ème année'" "promo='LP'"        
  1. Créer automatiquement le vecteur v7 qui suit à l’aide des fonctions c(), seq(), paste(), rep()
> v7 = paste(c("x", "y"), rep(seq(1,4), each = 2), sep = "")
> print(v7)
[1] "x1" "y1" "x2" "y2" "x3" "y3" "x4" "y4"

Données présentes

Sur le jeu de données swiss

  1. Donner le nombre de lignes et le nombre de colonnes, séparemment
> nrow(swiss)
[1] 47
> ncol(swiss)
[1] 6
  1. Afficher les noms de variables
> names(swiss)
[1] "Fertility"        "Agriculture"      "Examination"     
[4] "Education"        "Catholic"         "Infant.Mortality"
  1. Afficher les 10 premières lignes
> head(swiss, 10)
             Fertility Agriculture Examination Education Catholic
Courtelary        80.2        17.0          15        12     9.96
Delemont          83.1        45.1           6         9    84.84
Franches-Mnt      92.5        39.7           5         5    93.40
Moutier           85.8        36.5          12         7    33.77
Neuveville        76.9        43.5          17        15     5.16
Porrentruy        76.1        35.3           9         7    90.57
Broye             83.8        70.2          16         7    92.85
Glane             92.4        67.8          14         8    97.16
Gruyere           82.4        53.3          12         7    97.67
Sarine            82.9        45.2          16        13    91.38
             Infant.Mortality
Courtelary               22.2
Delemont                 22.2
Franches-Mnt             20.2
Moutier                  20.3
Neuveville               20.6
Porrentruy               26.6
Broye                    23.6
Glane                    24.9
Gruyere                  21.0
Sarine                   24.4
  1. Afficher les colonnes Agriculture et Education, en data.frame
> swiss[c("Agriculture", "Education")]
             Agriculture Education
Courtelary          17.0        12
Delemont            45.1         9
Franches-Mnt        39.7         5
Moutier             36.5         7
Neuveville          43.5        15
Porrentruy          35.3         7
Broye               70.2         7
Glane               67.8         8
Gruyere             53.3         7
Sarine              45.2        13
Veveyse             64.5         6
Aigle               62.0        12
Aubonne             67.5         7
Avenches            60.7        12
Cossonay            69.3         5
Echallens           72.6         2
Grandson            34.0         8
Lausanne            19.4        28
La Vallee           15.2        20
Lavaux              73.0         9
Morges              59.8        10
Moudon              55.1         3
Nyone               50.9        12
Orbe                54.1         6
Oron                71.2         1
Payerne             58.1         8
Paysd'enhaut        63.5         3
Rolle               60.8        10
Vevey               26.8        19
Yverdon             49.5         8
Conthey             85.9         2
Entremont           84.9         6
Herens              89.7         2
Martigwy            78.2         6
Monthey             64.9         3
St Maurice          75.9         9
Sierre              84.6         3
Sion                63.1        13
Boudry              38.4        12
La Chauxdfnd         7.7        11
Le Locle            16.7        13
Neuchatel           17.6        32
Val de Ruz          37.6         7
ValdeTravers        18.7         7
V. De Geneve         1.2        53
Rive Droite         46.6        29
Rive Gauche         27.7        29
  1. Afficher les lignes pour lesquelles la variable Infant.Mortality est inférieure à 17
> swiss[swiss$Infant.Mortality <= 17,]
          Fertility Agriculture Examination Education Catholic
Aigle          64.1        62.0          21        12     8.52
La Vallee      54.3        15.2          31        20     2.15
Nyone          56.6        50.9          22        12    15.14
Orbe           57.4        54.1          20         6     4.20
Rolle          60.5        60.8          16        10     7.72
Conthey        75.5        85.9           3         2    99.71
Sierre         92.2        84.6           3         3    99.46
          Infant.Mortality
Aigle                 16.5
La Vallee             10.8
Nyone                 16.7
Orbe                  15.3
Rolle                 16.3
Conthey               15.1
Sierre                16.3
  1. Combiner les deux demandes précédentes
> swiss[swiss$Infant.Mortality <= 17,c("Agriculture", "Education")]
          Agriculture Education
Aigle            62.0        12
La Vallee        15.2        20
Nyone            50.9        12
Orbe             54.1         6
Rolle            60.8        10
Conthey          85.9         2
Sierre           84.6         3