lundi 19 décembre 2016

R Supprimer la dernière ligne/occurrence pour chaque facteur

Voici un script pour le logiciel R qui permet de supprimer la ou les dernières lignes ou occurrences d'un tableau (dataframe) en fonction d'un facteur (level). Vous pouvez facilement l'adapter pour supprimer la i-ème ou n-ième occurence d'un tableau.

Cet exemple est reproductible, copier le code est lancez-le dans votre console R, puis adaptez le en remplaçant le nom de vos colonnes et tableaux (code en gras)

facteur<-c("a","a","a","b","b")
datacolumn<-c(4,5,3,6,2)
data=as.data.frame(cbind(facteur,datacolumn))
head(data)
  facteur datacolumn
1       a          4
2       a          5
3       a          3
4       b          6
5       b          2

lev<-levels(data$facteur)
lev<-droplevels(as.factor(lev))

atot=NULL
a=NULL
for (i in lev){
  a<-data[data$facteur==i,]
  a<-head(a,-1)
  atot=rbind(atot,a)}
head(atot)
  facteur datacolumn
1       a          4
2       a          5
4       b          6

Aucun commentaire:

Enregistrer un commentaire