La fonction colsplit(), qui fait partie du package reshape2, permet de séparer des éléments d’un vecteur en plusieurs colonnes et de retourner un data.frame. Cela peut être utile lorsqu’on a une combinaison de deux variables associées et séparées par un espace, un « – » ou encore un « _ ».
Library(reshape2)
x <- c("Jan-2001", "Fev-2001", "Mar-2002", "Dec-2005")
vars <- colsplit(x, "-", c("Mois", "Annee"))
#On sépare les deux variables "Mois" et "Année" contenues dans x et séparées par un "-"
vars
Mois Annee
1 Jan 2001
2 Fev 2001
3 Mar 2002
4 Dec 2005
str(vars)
'data.frame': 4 obs. of 2 variables:
$ Mois : chr "Jan" "Fev" "Mar" "Dec"
$ Annee: int 2001 2001 2002 2005
On obtient donc un data.frame composé d’une colonne de caractères et une colonne d’entiers. Il est possible d’utiliser la fonction type.convert() pour convertir un vecteur de caractères en vecteur numérique.