Attribuer des numéros de jours consécutifs aux dates


JParkDS

La base de données avec laquelle je travaille comporte deux colonnes : 1) l'identifiant de la personne et 2) la date. J'essaie d'attribuer des valeurs de jour numériques de date pour chaque personne.

Par exemple, la personne 1 a une date du 01-01-2016 (référence) au 05-01-2016 (dernière date pour la personne 1). Je veux créer une colonne de jour qui se traduirait par 1, 2, 3, 4, 5. Si la personne 2 a une date du 13-01-2016 au 16-01-2016, la colonne du jour pour la personne 2 serait 1, 2, 3, 4.

df <- for(i in length(unique(per1$date))){df$day[per1$date[1] + i] <- i+1}

C'est essentiellement ce que j'essaie de faire, mais j'obtiens un message d'erreur disant:

"le remplacement a 17119 lignes, les données ont 1670"

S'il vous plaît laissez-moi savoir comment je peux écrire le code pour cela. Merci.

Hardik Gupta

tu peux utiliser ça

library(data.table)

## Create Data
df <- data.table(personID = c(1,1,1,2,2,2,2), 
                 Date = c("2016-01-01", "2016-01-02", "2016-01-03", "2016-01-13", "2016-01-14", "2016-01-15", "2016-01-16"))

## Order the data according to date, per user 
df <- df[order(Date), .SD, by = personID]

## Rank the date, within each personID group
df <- df[, Day:= 1:.N, .(personID)]
df

   personID       Date Day
1:        1 2016-01-01   1
2:        1 2016-01-02   2
3:        1 2016-01-03   3
4:        2 2016-01-13   1
5:        2 2016-01-14   2
6:        2 2016-01-15   3
7:        2 2016-01-16   4

Articles connexes


Ajout de numéros consécutifs aux noms de fichiers

Paul J'ai une liste de fichiers comme Ortho234.phy Ortho671.phy Ortho880.phy and so on Je voudrais les renommer pour un travail de tableau pour Ortho234.1.phy Ortho671.2.phy Ortho880.3.phy J'ai essayé cela, mais cela remplace et nomme simplement le fichier c

somme maximale de n jours consécutifs utilisant des pandas

Naru J'ai vu des solutions dans différents langages (c'est-à-dire SQL, fortran ou C++) qui font principalement des boucles for. J'espère que quelqu'un pourra m'aider à résoudre cette tâche en utilisant plutôt des pandas. Si j'ai un bloc de données qui ressembl

Vérification des numéros consécutifs

Keva161 J'essaie d'implémenter une méthode pour vérifier les nombres consécutifs dans C#. Étant donné une liste entière d' néléments, elle doit retourner vrai/faux si les nombres sont consécutifs. Ainsi, par exemple, 12345, 45678, 54321tout serait true. Et le

Attribuer des numéros aux candidats en fonction des cotes

Farhad M. Je veux attribuer le numéro 1, 2 ou 3 en fonction des cotes comme indiqué ci-dessous. Ainsi, le favori de la place A à l'heure 13:30, qui est le concurrent L, aura un numéro 1 qui a la probabilité la plus élevée (cote la plus faible) de gagner, M aur

Calcul de jours consécutifs

bish lorsqu'un utilisateur se connecte à son compte, je veux calculer depuis combien de jours consécutifs cet utilisateur s'est connecté. Pour cela, je stocke l'horodatage $loginSinceet le calcul des jours consécutifs avec cette formule: $consecutiveDays = (in