Как изменить названия строк на одну позицию - PullRequest
0 голосов
/ 25 октября 2018

Я новичок в R. Я хотел бы знать, как можно уменьшить или увеличить одну позицию в строках с именами строк с датами.Я не могу вычесть 1, потому что (понедельник -1) - воскресенье, и это должно быть пятницей в данном наборе данных.

Например:

library(quantmod)
library(TTR)

start = as.Date("1990-01-01")
end = as.Date("2018-10-26")


getSymbols("^GSPC", src = "yahoo", from = start, to = end) #
na.omit(GSPC)

tail(GSPC)

С этим мы получаем:

           GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted
2018-10-12   2770.54   2775.77  2729.44    2767.13  3966040000       2767.13
2018-10-15   2763.83   2775.99  2749.03    2750.79  3300140000       2750.79
2018-10-16   2767.05   2813.46  2766.91    2809.92  3428340000       2809.92
2018-10-17   2811.67   2816.94  2781.81    2809.21  3321710000       2809.21
2018-10-18   2802.00   2806.04  2755.18    2768.78  3616440000       2768.78
2018-10-19   2775.66   2797.77  2760.27    2767.78  3566490000       2767.78
2018-10-22   2773.94   2778.94  2749.22    2755.88  3307140000       2755.88
2018-10-23   2721.03   2753.59  2691.43    2740.69  4348580000       2740.69
2018-10-24   2737.87   2742.59  2651.89    2656.10  4709310000       2656.10
2018-10-25   2674.88   2722.70  2667.84    2704.61  2507243461       2704.61

И то, что я хочу, это тот же DF (или другой), но с одной оставленной позицией.В данном случае это:

           GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted
2018-10-11   2770.54   2775.77  2729.44    2767.13  3966040000       2767.13
2018-10-12   2763.83   2775.99  2749.03    2750.79  3300140000       2750.79
2018-10-15   2767.05   2813.46  2766.91    2809.92  3428340000       2809.92
2018-10-16   2811.67   2816.94  2781.81    2809.21  3321710000       2809.21
2018-10-17   2802.00   2806.04  2755.18    2768.78  3616440000       2768.78
2018-10-18   2775.66   2797.77  2760.27    2767.78  3566490000       2767.78
2018-10-19   2773.94   2778.94  2749.22    2755.88  3307140000       2755.88
2018-10-22   2721.03   2753.59  2691.43    2740.69  4348580000       2740.69
2018-10-23   2737.87   2742.59  2651.89    2656.10  4709310000       2656.10
2018-10-24   2674.88   2722.70  2667.84    2704.61  2507243461       2704.61

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Следующее можно сделать короче, с меньшим количеством строк кода, но я пишу это так, чтобы прояснить ситуацию.

rn <- row.names(GSPC)
rn <- as.Date(rn)
rn <- c(rn[1] - 1, rn[-length(rn)])
row.names(GSPC) <- rn
0 голосов
/ 25 октября 2018

Столбец времени в этом фрейме данных не считается отдельным столбцом (и.р., функцией), однако, если вы хотите, вы можете добавить в него такой столбец.Вы можете получить этот столбец по t = GSPC[,0].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...