Как я могу распечатать даты акции в пакете quantmod в R?

Я хочу загрузить 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)

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
48
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Мы можем использовать 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)

Мне нужен столбец с датами, относящимися к каждой цене, а не к индексу. Индекс прост.

Homer Jay Simpson 22.03.2022 16:21

@HomerJaySimpson из комментария непонятно. Вы хотите перестроиться на длинный

akrun 22.03.2022 16:22

ваше редактирование - это ответ. Но когда я запускаю ваш код, даты не появляются.

Homer Jay Simpson 22.03.2022 16:23

@HomerJaySimpson, это потому, что вы обновили tsla до tibble, которые не позволяют использовать имена строк и их полосы. Я использовал tsla прямо из вывода quantmod

akrun 22.03.2022 16:24

да.вы правы.спасибо большое

Homer Jay Simpson 22.03.2022 16:25

Просто распечатайте объект 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...

Другие вопросы по теме