Bonjour à tous, Je dispose d'une base de donnée avec plus de 2000 lignes et une quinzaine de variables. Mon objectif est le suivant : En prenant les données de la table principale que l'on appelle "Data" j'aimerai garder les lignes (observations) pour lesquelles le taux ne change pas. Id est un identifiant (un même identifiant peux avoir plusieurs taux associés à des produits) et Tx un taux (en pourcentage)
Voici un exemple de ce que je souhaite faire :
Table initiale que j'appelle Data : Deux variable :
Id Taux 01A 2.5 01A 2.5 01A 2.5 02B 3.1 02B 2.1 03A 2.8 03A 2.6
Je souhaiterai obtenir donc en sortie la table suivante :
Id Taux 01A 2.5 01A 2.5 01A 2.5
On a gardé seulement les observations pour lequelles le Taux n'a pas changé. De mon côté je suis partie sur la notion de variance; Si cette dernière est égale à 0 alors on garde les lignes mais ca ne fonctionne pas très bien. Voici mon code :
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 for (l in 1:maxobs) { maxobs = nrow(Data) if ((Data$Id[l] == Data$Id[l+1]) && (var(c(Data$Taux[l],Data$Taux[l+1])) != 0)) Data[l:l+1,] else if # Ici je ne sais pas quoi mettre }
Partager