R Error in as.POSIXlt.character : string not standard unambiguous format
In this R tutorial you’ll learn how to handle the “Error in as.POSIXlt.character : character string is not in a standard unambiguous format”.
Table of contents:
Let’s dive right into the examples.
Creation of Example Data
First and foremost, let’s create some example data in R:
my_date <- "1458934995" # Create example date as number my_date # Print example date # [1] "1458934995" |
my_date <- "1458934995" # Create example date as number my_date # Print example date # [1] "1458934995"
The previous RStudio console output shows the structure of our example data: It’s a single date object formatted as a number.
Example 1: Reproduce the Error in as.POSIXlt.character : character string is not in a standard unambiguous format
In Example 1, I’ll illustrate how to replicate the “Error in as.POSIXlt.character : character string is not in a standard unambiguous format”.
Let’s assume that we want to convert our number date to a regular date object. Then we might try to use the as.POSIXct function as shown below:
as.POSIXct(my_date, origin = "1950-01-01") # Try to apply as.POSIXct # Error in as.POSIXlt.character(x, tz, ...) : # character string is not in a standard unambiguous format |
as.POSIXct(my_date, origin = "1950-01-01") # Try to apply as.POSIXct # Error in as.POSIXlt.character(x, tz, ...) : # character string is not in a standard unambiguous format
As you can see, the RStudio console has returned the “Error in as.POSIXlt.character : character string is not in a standard unambiguous format”.
The reason for this is that we have tried to apply the as.POSIXct function to a character string, even though the as.POSIXct function only takes numeric input objects.
Note that a similar error message would occur in case we would apply the as.POSIXct function to a factor.
So how can we solve this problem? That’s exactly what I’ll explain next!
Example 2: Fix the Error in as.POSIXlt.character : character string is not in a standard unambiguous format
Example 2 explains how to fix the “Error in as.POSIXlt.character : character string is not in a standard unambiguous format” in the R programming language.
As a first step, we have to convert our date that is currently formatted as a character to the numeric class.
my_date_numeric <- as.numeric(as.character(my_date)) # Convert to numeric my_date_numeric # Print numeric date |
my_date_numeric <- as.numeric(as.character(my_date)) # Convert to numeric my_date_numeric # Print numeric date
In the next step, we can apply the as.POSIXct function to our numerical date object:
as.POSIXct(my_date_numeric, origin = "1950-01-01") # Properly apply as.POSIXct # [1] "1996-03-25 20:43:15 CET" |
as.POSIXct(my_date_numeric, origin = "1950-01-01") # Properly apply as.POSIXct # [1] "1996-03-25 20:43:15 CET"
This works without any problems!
Video & Further Resources
Have a look at the following video of my YouTube channel. In the video, I explain the contents of the present article:
The YouTube video will be added soon.
In addition, you may read the other tutorials of this homepage. You can find some articles about errors in R below:
To summarize: This tutorial has explained how to deal with the “Error in as.POSIXlt.character : character string is not in a standard unambiguous format” in the R programming language. Please let me know in the comments section below, in case you have any additional questions. Furthermore, don’t forget to subscribe to my email newsletter in order to get updates on new articles.