J'ai un dataframe dans un autre fichier de données Ce que je veux, c'est de modifier le Est-ce que quelqu'un sait-il comment le faire? P> merci !! p> p> p> df1 code> qui résume des informations différentes (i.e. profondeur code>) Heures supplémentaires ( DateTime code>). A titre d'exemple: df2 code> j'ai filtré df1 code> et j'ai calculé une nouvelle DateTime code > (appelé DateTime2 code>) pour les lignes restantes, obtenez deux heures différentes dans df2 code> ( DateTime code> et datetime2 code>). C'est un exemple de ce que j'aurais obtenu: p> DateTime code> dans df1 code> pour le rangées dans lesquelles df1 $ DateTime code> et df2 $ $ DateTime code> coïncide et modifie la valeur de df1 $ DateTime code> pour df2 $ datetime2 code>. Je souhaite également également graisser 60 secondes pour le reste des lignes pour lesquelles df1 $ DateTime code> et df2 $ DateTime code> ne coïncide pas. Je m'attendrais à ce que ceci: p>
3 Réponses :
Vous pouvez utiliser gauche_join code> à partir de dplyr code> package:
Merci! Est-il nécessaire d'inclure la «profondeur» dans le code? Je veux dire, dans cet exemple, "Profondeur" n'a pas d'utilité d'utilité, il est vrai que si "DF1 $ DateTime == df2 $ DateTime ', alors" DF1 $ profond de profondeur == DF2 $ ".
@Dekike Je pense que c'est nécessaire car la ligne 1 et 2 ont le même DateTime code> dans df1 code> mais la valeur est modifiée uniquement pour la ligne 2. Pourquoi? Pourquoi? Pourquoi?
Désolé, j'ai commis une erreur ... Je n'ai pas changé DateTime code> dans la ligne 1 pour df1 code>. Je l'ai déjà changé. Pouvons-nous le faire sans utiliser profondeur code>? Je le mentionne que, dans mes données réelles, la colonne profondeur code> n'existe pas. Je l'ai inclus comme un exemple de ce qu'il y a d'autres variables dans le Dataframe.
@Alexb, thaks pour votre réponse. Comme je l'ai mentionné à Ronak Shah, j'ai oublié de mentionner que pour le reste des lignes de df1 code> pour lesquels datetime code> ne correspond pas à DateTime code> de DF2 code>, je veux soustraire 60 secondes d'eux. Est-il facile d'inclure cela dans votre code proposé? Merci!
Vous pouvez gaucher_join code> par "DateTime" code> et "de la profondeur" code>, puis utilisez coalesce code>
Je suppose que maintenant que j'ai corrigé mon erreur sur DateTime code> dans df1 code>, je peux laisser une profondeur code> du code, je ne peux pas?
J'ai oublié d'inclure dans ma question que je voulais aussi que je voulais aussi que le reste des lignes de df1 code> pour lesquels datetime code> ne coïncide pas avec DateTime code> de DF2 code>, je veux soustraire 60 secondes. Je vais y inclure cela dans le post, savez-vous comment le faire? Je suppose que c'est facile pour vous. Désolé pour mon erreur.
Vous êtes génial! Merci!!
Une option à l'aide de sortie: p> data.Table joint à la mise à jour de la carte code> S. DateTime Depth
1: 2017-08-12 10:17:21 24
2: 2017-08-12 11:42:56 12
3: 2017-08-12 12:21:16 35
4: 2017-08-12 13:23:43 54
5: 2017-08-12 14:34:14 13
6: 2017-08-12 15:47:28 32