Accélérer rbind

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Laëtitia VIBERT
Messages : 42
Enregistré le : 16 Avr 2019, 10:13

Accélérer rbind

Messagepar Laëtitia VIBERT » 14 Mai 2020, 10:09

Re-bonjour,

Question qui fait suite à ma question préalable, j'ai besoin dans mon script de filtrer mes données afin de supprimer celles qui sont hors de la zone d'étude.
Pour ne pas les supprimer complètement, j'ai d'abord copié dans un autre df toutes les lignes dont les coordonnées sont hors de la zone d'étude, en utilisant et

Code : Tout sélectionner

rbind()

Néanmoins, cette méthode demande énormément de temps, et je me demandais s'il y avait un trick pour effectuer la même chose plus rapidement...

En vous remerciant pour votre aide

Laëtitia
L.

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Accélérer rbind

Messagepar Mickael Canouil » 14 Mai 2020, 11:37

Mickaël
mickael.canouil.fr | rlille.fr

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Re: Accélérer rbind

Messagepar Matthieu Lesnoff » 16 Juin 2020, 05:53

de manière générale, éviter rbind dès qu'il y a beaucoup d'itérations
Préférer "rbindlist" (très rapide) du package data.table (qu'il faut installer)

n <- 3 ; p <- 5 ; nrep <- 4

# List of data.frames
mylist <- lapply(1:nrep, function(x) as.data.frame(matrix(runif(n * p), nrow = n)))

# transformation of the data.frames in data.table format
mylist.dt <- lapply(mylist, data.table)

res <- as.data.frame(rbindlist(ldt))
res
ML

camille garcin
Messages : 76
Enregistré le : 24 Nov 2009, 10:07

Re: Accélérer rbind

Messagepar camille garcin » 16 Juin 2020, 08:21

Pourquoi ne pas utiliser subset, qui permet, comme son nom l'indique, d'extraire un sous ensemble d'un data frame ?

Code : Tout sélectionner

df_hors_zone<-subset(df, conditions...)
CG


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité