Les fonctions de la famille apply() et la fonction which() peuvent permettre de compter les éléments identiques, négatifs, positifs ou encore supérieurs ou inférieurs à une certaine valeur dans un data.frame.
iris
# iris, un tableau de données
m <- matrix(data=cbind(rnorm(30, 0), rnorm(30, 2), rnorm(30, 5)), nrow=30, ncol=3)
# m, une matrice de données
Calculer le nombre d’éléments identiques :
### Dans un tableau :
lapply (iris, function(x) length(unique(x))) # retourne une liste
sapply (iris, function(x) length(unique(x))) # retourne un vecteur numérique
### Dans une matrice :
apply (m, 2,function(x) length(unique(x))) #retourne des entiers
Calculer le nombre d’éléments supérieurs ou inférieur à une certaine valeur :
### Dans un tableau :
iris2 <- as.matrix(iris) # On convertie la base de données en matrice
iris2[,1] <- as.numeric(iris2[,1]) # On convertie la colonne en données numériques
length(which(iris2[,1]>5)) # On obtient le nombre sépales dont la longueur est supérieur à 5
### Dans une matrice :
apply(m, 2, function(x) length(x[x<0])) # Nombre d’éléments négatifs
apply(m, 2, function(x) length(x[x > 1.5])) # Nombre d’éléments supérieur à 1,5