créer une nouvelle table avec des conditions
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 :
Code:
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
} |
Merci d'avance pour votre aide.
Créer une nouvelle table avec des conditions
Bonjour,
Un de vos collègues a posé la même question ici. Je vous invite à rejoindre la discussion.
Cordialement,