Préparer ses données

On va s'entraîner un peu sur données, ça va être chouette ! On va aller sur les données du package archdata (je vous laisse retrouver les commandes pour ça). Je vous propose, pour commencer, de charger les données sur le Snodgrass dont le rapport est public et disponible ici. Le mélange de variables quantitatives et paramétriques est parfait pour des essais et puis le site est quand même cool (allez voir le Mississippi pour cette période, c'est juste fou (même si l'emploi du terme Protohistoire me gonfle terriblement)).

Sous-échantilloner (ou filtrer)

Je n'ai pas encore abordé le sous-échantillonnage avec conditions (enfin, je ne crois pas et, si c'est le cas, c'est que je me suis ENCORE perdu dans les modifications d'ordres de sous parties). J'ai mis "avec conditions" car, par exemple, ne sélectionner que certaines lignes ou certaines colonnes pour faire un nouveau jeu de données, comme on l'a fait, c'est déjà du sous-échantillonnage. :scream_cat:

Il y a principalement deux façons de le faire (pour rester simple), utiliser which() ou subset(). which() est un filtre de sélection et subset(), une commande.

Which

which() est appliqué à un objet et fonctionne avec la logique des opérateurs logiques (justement :dancer:). Il teste une variable et renvoie les éléments positifs à ce test de cette façon : objet[which(objet$variable == 'le truc recherché' & objet$variable > une valeur particulière ),] (oui, c'est comme quand on cherche une position en ligne ou colonne, là j'ai sélectionné des lignes).

snod2 <- Snodgrass[which(Snodgrass$Length < 12 & Snodgrass$Inside == 'Outside'),]

Nous venons de créer un objet snod2 qui contient les lignes dont les longueurs sont strictement inférieures à 12 et qui sont situées à l'extérieur du "mur blanc".

Subset

Pour subset(), c'est un tout petit peu différent. Son fonctionnement ? Bah c'est bon, laissez-moi le temps de le décrire... subset(objet, opérateur logique sur variable, les colonnes qu'on veut garder, d'autres trucs). Par exemple, je veux observer les colonnes de longueur, largeur, nombre de segment, emplacement et surface pour les maison situées dans la moitié nord du site.

# on détermine d'abord la moitié nord

median(Snodgrass$South)
#[1] 250.75

snod3 <- subset(Snodgrass, South < 250.75, c('Length', 'Width', 'Segment', 'Inside', 'Area'))

Pas mal non ? (c'est français (enfin pas du tout, mais c'était pour la ref :kissing_cat:))

Pourquoi utiliser l'un ou l'autre ? Et bien moi, par exemple (je sais, ce n'est pas trop poli de parler de soi comme ça, mais quand je vous interpelle, je ne vous entends pas répondre au moment où j'écris ce support donc bon... :pouting_cat:), j'utilise which() quand je filtre rapidement mes données et subset() quand je crée un vrai sous-échantillonnage avec plusieurs critères.

powered by GitbookLes ateliers du MIAOU 22-12-2025 11:53:32

results matching ""

    No results matching ""