Estoy tratando de crear un subconjunto de un marco de datos y, cuando lo hago, R cambia el formato de la columna de fecha. ¿Alguna idea de por qué o cómo solucionar esto?cbind() está cambiando el formato de fecha
> head(spyPr2)
Date Open High Low Close Volume Adj.Close
1 12/30/2011 126.02 126.33 125.50 125.50 95599000 125.50
2 12/29/2011 125.24 126.25 124.86 126.12 123507200 126.12
3 12/28/2011 126.51 126.53 124.73 124.83 119107100 124.83
4 12/27/2011 126.17 126.82 126.06 126.49 86075700 126.49
5 12/23/2011 125.67 126.43 125.41 126.39 92187200 126.39
6 12/22/2011 124.63 125.40 124.23 125.27 119465400 125.27
> spyPr2$Date <- as.Date(spyPr2$Date, format = "%m/%d/%Y")
> head(spyPr2)
Date Open High Low Close Volume Adj.Close
1 2011-12-30 126.02 126.33 125.50 125.50 95599000 125.50
2 2011-12-29 125.24 126.25 124.86 126.12 123507200 126.12
3 2011-12-28 126.51 126.53 124.73 124.83 119107100 124.83
4 2011-12-27 126.17 126.82 126.06 126.49 86075700 126.49
5 2011-12-23 125.67 126.43 125.41 126.39 92187200 126.39
6 2011-12-22 124.63 125.40 124.23 125.27 119465400 125.27
> spyPr2 <- data.frame(cbind(spyPr2$Date, spyPr2$Close, spyPr2$Adj.Close))
> str(spyPr2)
'data.frame': 1638 obs. of 3 variables:
$ X1: num 15338 15337 15336 15335 15331 ...
$ X2: num 126 126 125 126 126 ...
$ X3: num 126 126 125 126 126 ...
> head(spyPr2)
X1 X2 X3
1 15338 125.50 125.50
2 15337 126.12 126.12
3 15336 124.83 124.83
4 15335 126.49 126.49
5 15331 126.39 126.39
6 15330 125.27 125.27
ACTUALIZACIÓN:
> spyPr2 <- data.frame(cbind(spyPr2["Date"], spyPr2$Close, spyPr2$Adj.Close))
Error in `[.data.frame`(spyPr2, "Date") : undefined columns selected
> spyPr2 <- data.frame(cbind(spyPr2[,"Date"], spyPr2$Close, spyPr2$Adj.Close))
Error in `[.data.frame`(spyPr2, , "Date") : undefined columns selected
ACTUALIZACIÓN 2:
structure(list(Date = structure(c(15338, 15337, 15336, 15335,
15331, 15330), class = "Date"), Open = c(126.02, 125.24, 126.51,
126.17, 125.67, 124.63), High = c(126.33, 126.25, 126.53, 126.82,
126.43, 125.4), Low = c(125.5, 124.86, 124.73, 126.06, 125.41,
124.23), Close = c(125.5, 126.12, 124.83, 126.49, 126.39, 125.27
), Volume = c(95599000L, 123507200L, 119107100L, 86075700L, 92187200L,
119465400L), Adj.Close = c(125.5, 126.12, 124.83, 126.49, 126.39,
125.27)), .Names = c("Date", "Open", "High", "Low", "Close",
"Volume", "Adj.Close"), row.names = c(NA, -6L), class = "data.frame")
¿Has probado usar '[' selection en vez de '$'? ej. 'spyPr2 [" Date "]' – James
Muéstranos los resultados de 'dput (head (spyPr2))' para que no tengamos que preocuparnos de crear nuestros propios datos para ver qué está sucediendo. Sospecho que el método 'cbind()' predeterminado es el problema aquí, pero me gustaría ejecutar el código en mi propia máquina para verificar. –
No, lo siento, me refería a la salida de 'dput()' * antes de * procesarlo. Es decir. Give es su información de entrada (pero solo necesitamos las 6 líneas que muestra. –