Sous-ensemble est une très lente de la fonction , et personnellement, je trouve cela inutile.
Je suppose que vous avez un ensemble de données.cadre, tableau, matrice appelle Mat
avec A
, B
, C
que les noms de colonnes; puis tout ce que vous devez faire est de:
-
Dans le cas d'une condition sur une colonne, permet de dire que la colonne A
Mat[which(Mat[,'A'] == 10), ]
Dans le cas de plusieurs conditions sur les différentes colonnes, vous pouvez créer une variable muette. Supposons que les conditions sont A = 10
, B = 5
, et C > 2
, alors nous avons:
aux = which(Mat[,'A'] == 10)
aux = aux[which(Mat[aux,'B'] == 5)]
aux = aux[which(Mat[aux,'C'] > 2)]
Mat[aux, ]
En testant l'avantage de vitesse avec system.time
, which
méthode est 10x plus rapide que l' subset
méthode.