Pregunta

Tengo marcas de tiempo en una columna que he importado en SPSS. Ejemplo, 7/6/2011 2:21 en una columna llamada 'observación'

Esto está en el formato de cadena. Ahora también tengo correcciones de zona horaria para estos datos. Entonces, -60 significaría restar 60 minutos de esta fecha.

¿Cómo haría esto en la sintaxis SPSS?

¿Fue útil?

Solución

Hay formatos de fecha nativos en SPSS, pero desafortunadamente no parece que cubra el ejemplo que publicó. Analizaría el comienzo del campo de cadena para obtener el mm/dd/yyyy y el hh:mm Parte separado, conviertalos en sus formatos de tiempo representativos y luego haga los cálculos de tiempo.

Para un ejemplo

data list fixed / observation (A25).
begin data
7/6/2011 2:21
10/11/2011 15:42
07/06/2011 02:21
3/15/2011 0:21
end data.

*getting the data part, assuming the space will always delimit the two parts.
compute #space = char.index(observation," ").
string date (A10).
compute date = char.substr(observation,1,#space-1).
*getting the time part.
string time (A5).
compute time = char.substr(observation,#space+1,5).
execute.

*now converting them into date formats.
alter type date (A10 = ADATE10).
alter type time (A5 = TIME5).
*you should check these carefully to make sure they were converted correctly.
*now making one time variable.
compute date_time = date + time.
formats date_time (DATETIME17).
execute.

*now it is just as simple as subtracting the specified value.
compute date_time_adj = DATESUM(date_time,-60,"minutes").
execute.
formats date_time_adj (DATETIME17).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top