Jayanth
Jayanth

Reputation: 587

format a Date column in a Data Frame

I've the following data from a data frame

Name,JoiningDate,AmtPaid
Joe,12/31/09,1000
Amy,10/28/09,100
John,05/06/10,200

The Joining Date is coming in as a factor (when I sapply). How can I convert this to date and then sort on JoiningDate?

Upvotes: 24

Views: 147762

Answers (3)

andschar
andschar

Reputation: 3973

The data.table package has its IDate class and functionalities similar to lubridate or the zoo package. You could do:

dt = data.table(
  Name = c('Joe', 'Amy', 'John'),
  JoiningDate = c('12/31/09', '10/28/09', '05/06/10'),
  AmtPaid = c(1000, 100, 200)
)

require(data.table)
dt[ , JoiningDate := as.IDate(JoiningDate, '%m/%d/%y') ]

Upvotes: 0

Tom Liptrot
Tom Liptrot

Reputation: 2283

This should do it (where df is your dataframe)

df$JoiningDate <- as.Date(df$JoiningDate , format = "%m/%d/%y")

df[order(df$JoiningDate ),]

Upvotes: 51

Ray Kodiak
Ray Kodiak

Reputation: 89

try this package, works wonders, and was made for date/time...

library(lubridate)
Portfolio$Date2 <- mdy(Portfolio.all$Date2)

Upvotes: 6

Related Questions