2010-05-08 25 views
28

Mi código:R fechas "origen" se debe suministrar

axis.Date(1,sites$date, origin="1960-10-01") 

error:

Error in as.Date.numeric(x) : 'origin' must be supplied 

¿Por qué se me pide para el origen cuando la proporcionó en el código anterior?

Respuesta

26

sospecho que quería decir:

axis.Date(1, as.Date(sites$date, origin = "1960-10-01")) 

como el argumento de 'x' para as.Date() tiene que ser de tipo Date.

Como un aparte, esto podría ser apropiado como seguimiento o edición de su pregunta anterior.

+0

'x' a _axis_.Date(), ¿no? – user12341234

+0

Ver 'args (as.Date)' para ver 'x' allí también. –

12

Mi uso R 1970-01-01:

>as.Date(15103, origin="1970-01-01") 
[1] "2011-05-09" 

y esto coincide con el cálculo de

>as.numeric(as.Date(15103, origin="1970-01-01")) 
+0

También mía, ¿por qué cada R usa diferentes fechas de origen? – GabyLP

+1

Sé que esta es una publicación anterior. Pero cada vez que ejecuto esto, obtengo 'NA' en mi columna de fecha. Mis fechas están en este formato '20150521' – NealC

1

Si tiene ambos de fecha y hora en el valor numérico, a continuación, utilizar as.POSIXct. El paquete Data.table IDateTime es un caso así. Si usa fwrite para guardar un archivo, el paquete convierte automáticamente los tiempos de fecha al formato idatetime, que es el tiempo de Unix. Para convertir de nuevo al formato normal, se puede hacer lo siguiente.

Ejemplo: Supongamos que usted tiene una marca de tiempo Unix con fecha y hora Info: 1442866615 argumento

> as.POSIXct(1442866615,origin="1970-01-01") 
[1] "2015-09-21 16:16:54 EDT" 
Cuestiones relacionadas