Я хочу загрузить 5-летнюю историю акций Tesla из пакета quanatmod в R. Для этого у меня есть:
tsla <- quantmod::getSymbols("TSLA", from = base::as.Date("2017-01-01"), to = base::as.Date("2022-01-31"), auto.assign = F)
tsla = as_tibble(tsla)
head(tsla)
Но я также хочу столбец с датами по каждому индексу. Как это можно сделать, не добавляя просто даты, ведь эти цены соответствуют конкретным датам.
Мы можем использовать rownames_to_column
после преобразования в data.frame
из вывода xts
.
library(dplyr)
library(tibble)
tsla %>%
as.data.frame %>%
rownames_to_column("Index")
-выход
Index TSLA.Open TSLA.High TSLA.Low TSLA.Close TSLA.Volume TSLA.Adjusted
1 2017-01-03 42.972 44.066 42.192 43.398 29616500 43.398
2 2017-01-04 42.950 45.600 42.862 45.398 56067500 45.398
3 2017-01-05 45.284 45.496 44.390 45.350 29558500 45.350
4 2017-01-06 45.386 46.062 45.090 45.802 27639500 45.802
5 2017-01-09 45.794 46.384 45.600 46.256 19897500 46.256
6 2017-01-10 46.400 46.400 45.378 45.974 18300000 45.974
...
Или это можно сделать с помощью fortify.zoo
zoo::fortify.zoo(tsla)
@HomerJaySimpson из комментария непонятно. Вы хотите перестроиться на длинный
ваше редактирование - это ответ. Но когда я запускаю ваш код, даты не появляются.
@HomerJaySimpson, это потому, что вы обновили tsla
до tibble
, которые не позволяют использовать имена строк и их полосы. Я использовал tsla
прямо из вывода quantmod
да.вы правы.спасибо большое
Просто распечатайте объект TSLA xts. ( fortify.zoo(TSLA)
преобразует его во фрейм данных с индексом в первом столбце, но на самом деле это не нужно для простой печати.)
library(quantmod)
getSymbols("TSLA", from = "2017-01-01", to = "2022-01-31")
TSLA
давая:
TSLA.Open TSLA.High TSLA.Low TSLA.Close TSLA.Volume TSLA.Adjusted
2017-01-03 42.972 44.066 42.192 43.398 29616500 43.398
2017-01-04 42.950 45.600 42.862 45.398 56067500 45.398
2017-01-05 45.284 45.496 44.390 45.350 29558500 45.350
2017-01-06 45.386 46.062 45.090 45.802 27639500 45.802
2017-01-09 45.794 46.384 45.600 46.256 19897500 46.256
2017-01-10 46.400 46.400 45.378 45.974 18300000 45.974
...etc...
Мне нужен столбец с датами, относящимися к каждой цене, а не к индексу. Индекс прост.