Ceci est un échantillon de mes données de CSV. Il contient ~ 10 colonnes.
Product_id Product_Weight Product_Name Shop_Name ... [1] A 10 xxxx Walmart [2] B 12 yyyy Target [3] C 11 zzzz Target [4] A 10 xxxx Walmart [5] C 11 zzzz Target
3 Réponses :
Bien que la question posée de la "occurrence précédente", cela aurait l'inconvénient que si le premier Si vous voulez vraiment que l'événement précédent utilisez la fonction à la place de Les solutions suivantes ont les avantages qu'ils ont tous: p> conserve l'ordre de l'entrée p> li>
travail même si le premier Ne modifiez pas l'entrée p> li>
ul> La première solution a l'avantage supplémentaire d'être une seule ligne de code (plus une bibliothèque code> code>) et la deuxième solution a l'avantage supplémentaire de ne pas utiliser aucun packages. p> donnant: p> 3) dplyr / zoo stry> Ajouter des numéros de ligne, groupe par produit_weight code> dans n'importe quel
produit_id code> était
na code> Il n'a pas pu être rempli même si nous connaissions le
Product_weight code> à partir d'un
Product_ID ultérieur > au lieu d'utiliser l'occurrence précédente, nous prenons la moyenne de tous les non-NAS avec le même produit_id code>. Comme ils devraient tous être les mêmes leur moyenne est leur valeur commune.
prev code> fonction où: p>
na.Accréat code> dans (1) et (3) et n'utilisez pas (2). p>
product_weight code> dans n'importe quel
produit_id code> est na p> li>
na.Accréat code> dans le package de zoo (qui remplace tous les NAS avec la moyenne des non-NAS) et nous l'appliquons à
Product_weight code> séparément pour chaque
product_id code>. p>
moyenne code> à la place de
na.Accréte code> où
signifie code> est défini comme suit: p>
product_id code>, remplissez le NAS Comme dans les solutions antérieures à l'aide de
na.Accréat code> comme indiqué ci-dessous ou
moyenne code>, récupérez la commande d'origine et supprimez les numéros de ligne: P>
Lines <- " Product_id Product_Weight Product_Name Shop_Name
A 10 xxxx Walmart
B 12 yyyy Target
C 11 zzzz Target
A NA xxxx Walmart
C NA zzzz Target"
DF <- read.table(text = Lines, header = TRUE)
Une autre option avec Le résultat est trié par le produit_id. p> p > dplyr code> et
titsyr code>:
ne peut pas dplyr faire cela sans réorganiser?
Voici une solution avec les commandes de base R: probablement non aussi efficace que la solution dplyr / tiard mentionnée ci-dessus. p> p>
Ces poids sont-ils toujours définis pour qu'une combinaison de produits_id -id-produit-produit renvoie le même poids?
@LMO oui ils sont.
Un autre Q & A à propos de remplacer NA's: Stackoverflow.com/Questtions/32694313/...