Jak naprawić: ciąg nie ma jednoznacznego standardowego formatu


Typowym błędem, jaki możesz napotkać w R jest:

 Error in as.POSIXlt.character(x, tz, ...): 
  character string is not in a standard unambiguous format

Ten błąd zwykle występuje, gdy próbujesz przekonwertować obiekt w języku R na format daty, ale obiekt jest obecnie znakiem lub czynnikiem.

Aby naprawić ten błąd, należy najpierw przekonwertować obiekt na postać cyfrową.

W tym samouczku wyjaśniono, jak w praktyce naprawić ten błąd.

Jak odtworzyć błąd

Załóżmy, że mamy następującą ramkę danych w R:

 #create data frame
df <- data. frame (date=c('1459397140', '1464397220', '1513467142'),
                 sales=c(140, 199, 243))

#view data frame
df

        dirty date
1 1459397140 140
2 1464397220 199
3 1513467142 243

Załóżmy teraz, że próbujemy przekonwertować wartości kolumny daty na format daty:

 #attempt to convert values in date column to date
df$date <- as. POSIXct (df$date, origin=' 1970-01-01 ')

Error in as.POSIXlt.character(x, tz, ...): 
  character string is not in a standard unambiguous format

Otrzymujemy błąd, ponieważ wartości kolumn daty są obecnie w formacie znakowym, z czym funkcja as.POSIXct() nie jest w stanie obsłużyć.

Jak naprawić błąd

Aby naprawić ten błąd, musimy użyć funkcji as.numeric() , aby najpierw przekonwertować wartości kolumn daty na format liczbowy, czyli format, który obsługuje as.POSIXct :

 #convert values in date column to date
df$date <- as. POSIXct (as. numeric (as. character (df$date)), origin=' 1970-01-01 ')

#view updated data frame
df

                 dirty date
1 2016-03-31 04:05:40 140
2 2016-05-28 01:00:20 199
3 2017-12-16 23:32:22 243

Tym razem nie otrzymujemy błędu i udaje nam się pomyślnie przekonwertować wartości kolumn daty na format daty, ponieważ najpierw przekonwertowaliśmy wartości na format liczbowy.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak naprawić inne typowe błędy w R:

Jak naprawić: Nie można zmusić obiektu (listy) do wpisania „podwójnego”
Jak naprawić w R: Nieprawidłowa formuła szablonu w ExtractVars
Jak naprawić w R: wymiana ma zerową długość

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *