J'ai un problème que mon code ne me donnait pas auparavant. J'ai à priori pas changé le code, ni le dossier source.
J'ai deux lignes dans mon dataframe de 30000 lignes qui ont des valeurs manquantes lors de la transformation de données Date et Heure avec la fonction as.POSIXct. Cela fonctionne pour toutes les lignes, sauf ces deux là. J'ai réussi à les localiser et je suis certaine que l'erreur se crée à la ligne suivante:
I am facing a problem which I never used to have when running this R code. And I really don't think that I changed any of the code or any of the data source. There are two rows in my dataframe (30000 rows), and missing values are generated when I create the column that puts together Date and Time with the as.POSIXct function. It works for all rows, except for those two. I managed to locate those two rows and I am sure that the mistake comes up when I run the following code line:
Code : Tout sélectionner
data$datetime <- as.POSIXct(paste(data$Date, data$Time), format = "%d/%m/%Y %H:%M:%S") # One field for date and time
Voici ce qui se passe pour les deux lignes en question:
Here is what happens for those two lines:
1. Ligne 13129: 30/03/2014 à 02:46:13
Code : Tout sélectionner
### Create a datetime column
> data[13129, c(4:5)]
Date Time
13129 30/03/2014 02:46:13
> data$datetime <- as.POSIXct(paste(data$Date, data$Time), format = "%d/%m/%Y %H:%M:%S") # One field for date and time
> data[13129, c(4:5,20)]
Date Time datetime
13129 30/03/2014 02:46:13 <NA>
2. ligne 21267: 29/03/2015 à 02:58:54
Code : Tout sélectionner
> data[21267, c(4:5)]
Date Time
21267 29/03/2015 02:58:54
> data$datetime <- as.POSIXct(paste(data$Date, data$Time), format = "%d/%m/%Y %H:%M:%S") # One field for date and time
> data[21267, c(4:5,20)]
Date Time datetime
21267 29/03/2015 02:58:54 <NA>
3. A présent voici ce qu'il se passe pour quelconque autre ligne du dataframe:
3. Now, this is what happens for any other line of the dataframe:
Code : Tout sélectionner
> data[10000, c(4:5)]
Date Time
10000 04/01/2015 09:29:08
> data$datetime <- as.POSIXct(paste(data$Date, data$Time), format = "%d/%m/%Y %H:%M:%S") # One field for date and time
> data[10000, c(4:5,20)]
Date Time datetime
10000 04/01/2015 09:29:08 2015-01-04 09:29:08
Je ne comprends pas pourquoi, les dates ne sont à priori pas 'impossibles'.
J'ai vérifié la classe de tous les éléments:
I don't understand where the problem comes from, the dates and hours are, a priori, possible.
I checked the class and factor levels for everything (see below).
Code : Tout sélectionner
> class(data[13129,4])
[1] "factor"
> class(data[13129,5])
[1] "factor"
> class(data[21267,4])
[1] "factor"
> class(data[21267,5])
[1] "factor"
> class(data[10000,4])
[1] "factor"
> class(data[10000,5])
[1] "factor"
Ils ont chacun le même nombre de niveaux.
Code : Tout sélectionner
> data[13129,4]
[1] 30/03/2014
623 Levels
> data[21267,4]
[1] 29/03/2015
623 Levels
> data[10000,4]
[1] 04/01/2015
623 Levels
> data[13129,5]
[1] 02:46:13
25241 Levels
> data[21267,5]
[1] 02:58:54
25241 Levels
> data[10000,5]
[1] 09:29:08
25241 Levels
Si vous avez une idée, dites moi, Merci!
Elsa