Extraire les éléments de date de POSIXlt et les mettre dans le bloc de données dans R

Ma deuxième question du jour et ma dernière tentative d'utiliser R pour nettoyer ces données. Voici le sitrep:

J'ai un bloc de données qui a une colonne qui est une POSIXlt de type date. Je veux extraire le jour, le mois et l'année à partir de cette colonne et de créer 3 nouvelles colonnes appelé (intelligemment) le jour, le mois et l'année.

Le bloc de données qui ressemble à ceci:

order_id      dd_mmm_yy
   1          2005-07-28
   2          2007-03-04

Je veux retrouver avec ceci:

order_id      dd_mmm_yy    day   month   year
   1          2005-07-28    28     7     2005
   2          2007-03-04    4      3     2007

J'ai créé une fonction pour extraire le jour, le mois et l'année et de les renvoyer dans une liste (ou un bloc de données, j'ai essayé les deux).

extractdate = function (date) {
        day = format(date, format="%d")
        month = format(date, format="%m")
        year = format(date, format="%Y")

       list(day=day, month=month, year=year)
 }

Voici ce que j'ai essayé de base sur une version antérieure du problème et de la question:

cbind(orders, t(sapply(orders$dd_mmm_yy, extractdate)))

qui me donne ceci:

Error in data.frame(..., check.names = FALSE) : 
arguments imply differing number of rows: 5, 9

Le t(sapply... par lui-même me donne ce pour quelques fous raison:

      day         month       year       
sec   Character,5 Character,5 Character,5
min   Character,5 Character,5 Character,5
hour  Character,5 Character,5 Character,5
mday  Character,5 Character,5 Character,5
mon   Character,5 Character,5 Character,5
year  Character,5 Character,5 Character,5
wday  Character,5 Character,5 Character,5
yday  Character,5 Character,5 Character,5
isdst Character,5 Character,5 Character,5

Ce qui sur terre se passe? Suis-je mieux d'utiliser quelque chose comme Python ou Java pour faire toutes les manipulations de données que je dois faire sur ces données avant de l'amener dans R pour l'analyse?

source d'informationauteur Dave Kincaid