En Stata, ¿cómo convierto la fecha en la forma de:
09mar2005 00:00:00
a una variable mes-año?
Si importa, el formato de fecha es %tc
.
Lo que tengo en mente es trazar promedios mensuales (en lugar del promedio diario que tengo) de variables a lo largo del tiempo.
Respuestas
0 para la respuesta № 1Hay diferentes formas de obtener la salida deseada dependiendo de cómo desea utilizar esta variable posteriormente.
La forma más sencilla es hacer algo como:
generate date_time = "09mar2005 00:00:00"
generate month_year = substr(date_time, 3, 7)
Entonces puedes usar el date()
función para convertir month_year
para su uso posterior.
0 para la respuesta № 2
Para llegar a donde estás ahora, tú o alguien más puede haber hecho algo como esto:
clear
set obs 1
gen earlier = "09mar2005 00:00:00"
gen double nowhave = clock(earlier, "DMY hms")
format nowhave %tc
list
+-----------------------------------------+
| earlier nowhave |
|-----------------------------------------|
1. | 09mar2005 00:00:00 09mar2005 00:00:00 |
+-----------------------------------------+
Tenga en cuenta que una fecha de cadena y una variable de fecha y hora numérica con el formato de fecha y hora apropiado %tc
solo mira lo mismo cuando tu list
Ellos, pero son bestias bastante diferentes.
Para llegar a donde quiere estar, con una fecha mensual, usted convierte de reloj (fecha y hora) a diario a mensual:
gen mdate = mofd(dofc(nowhave))
format mdate %tm
list
+--------------------------------------------------+
| earlier nowhave mdate |
|--------------------------------------------------|
1. | 09mar2005 00:00:00 09mar2005 00:00:00 2005m3 |
+--------------------------------------------------+
Todo está documentado en help datetime
. Los nombres de funciones representan m
en th of d
cita y d
cita of c
bloquear.