2015-12-17 1 views
1

J'ai des problèmes pour séparer les grands nombres en groupes. Par exemple:comment diviser les grands nombres en groupes dans R

a<-"2009031930111" 

ce que je voudrais obtenir:

year<-2009 
month<-03 
day<-19 

Merci à l'avance.

+6

Pourquoi ne pas en faire un objet de date réel? ('strptime (a,"% Y% m% d ")') – A5C1D2H2I1M1N2O1R2T1

+0

Cherchez-vous 'substr()'? – jogo

+0

Peut-être dupliquer de http://stackoverflow.com/questions/11446499/r-programming-multiple-substr? – jogo

Répondre

3

En utilisant substr() vous pouvez faire:

a<-"2009031930111" 
substr(a, 1, 4) 
substr(a, 5, 6) 
substr(a, 7, 8) 

finalement vous voulez convertir: as.numeric(substr(...))

+0

Merci beaucoup, très utile :) – user3122260

3

Comme @Ananda Mahto a dit que vous pouvez convertir en objet date et puis en utilisant package lubridate séparé ses années mois et date

a<-"2009031930111" 
x <- strptime(a, "%Y%m%d") 
library(lubridate) 
year(x) 
# [1] 2009 
month(x) 
# [1] 3 
day(x) 
# [1] 19