Bonjour,
Avec le logiciel R je souhaiterais écrire dans mon script deux commandes :
- la première retire toutes les colonnes ne contenant que des 0
- la seconde retire toutes les lignes ne contenant que des 0
J'avais écrit ceci mais ça ne fonctionne pas bien :
#Création D'un objet comprenant le cumul de toute les unites d'echantillonnage
cum<-apply(tab,2,sum) # 2 designe les colonnes.
cum #cumul des colonnes du tableau = total par espèce
f0<-sum(cum==0) #f0 représente le nombre d'espèces pour lesquelles aucun individu n'a été relevé durant tous les échantillonnages.
#Supprimer les colonnes avec que des 0
for(i in 1:ncol (tab)){
if(cum==0){ #si le nombre d'espèce où aucun individu n'a été trouvé n'est pas nul
tab<-tab[,-i] #alors je veux enlever dans mon tableau les colonnes (espèces) où le recensement total = 0
}else
{tab<-tab[,] #sinon je n'enlève rien
}
}
#Pour visualiser le nouveau nombre de colonnes
nbcolonnes<-ncol(tab)
nbcolonnes
Et pour les lignes :
#Supprimer les lignes avec que des 0 (NE FONCTIONNE PAS apres cum)
cum2<-apply(tab,1,sum)#1 désigne les lignes
cum2
for(l in 1:nrow (tab)){
if(cum2==0){ #si le nombre de relevés pour lesquels aucun individu n'a été référencé n'est pas nul.
tab<-tab[-l,] #alors je veux enlever dans mon tableau les lignes (relevés) où le recensement total (toutes les espèces) du relevé = 0
}else
{tab<-tab[,] #sinon je n'enlève rien
}
}
#Visualiser le nouveau nombre de lignes
nblignes<-nrow(tab)
nblignes
Avez vous des solutions svp ?
Merci d'avance !
-----