r-如何将rownames_to_column与日期一起使用



我正试图将我的雅虎价格下载转换为"整洁的";格式,但在下面的reprex中,日期将丢失其格式并转换为行号。换句话说,我如何从xts转换为tibble并保留日期?

prices <- getSymbols("QQQ", adjustOHLC = TRUE, auto.assign = FALSE) %>%
as_tibble() %>%
rownames_to_column(var = "Date")
head(prices)

要将其全部保存在一个tidyverse管道中,只需先转换为数据帧:

library(quantmod)
library(tibble)
getSymbols("QQQ", adjustOHLC = TRUE, auto.assign = FALSE) %>%
as.data.frame() %>%
rownames_to_column(var = "Date") %>%
as_tibble()
#> # A tibble: 3,419 x 7
#>    Date       QQQ.Open QQQ.High QQQ.Low QQQ.Close QQQ.Volume QQQ.Adjusted
#>    <chr>         <dbl>    <dbl>   <dbl>     <dbl>      <dbl>        <dbl>
#>  1 2007-01-03     43.5     44.1    42.5      43.2  167689500         38.3
#>  2 2007-01-04     43.3     44.2    43.2      44.1  136853500         39.1
#>  3 2007-01-05     44.0     44.0    43.5      43.8  138958800         38.9
#>  4 2007-01-08     43.9     44.1    43.6      43.9  106401600         38.9
#>  5 2007-01-09     44.0     44.3    43.6      44.1  121577500         39.1
#>  6 2007-01-10     44.0     44.7    43.8      44.6  121070100         39.6
#>  7 2007-01-11     44.7     45.2    44.7      45.1  174029800         40.0
#>  8 2007-01-12     45.0     45.3    45.0      45.3  104217300         40.2
#>  9 2007-01-16     45.3     45.4    45.1      45.3   95690500         40.1
#> 10 2007-01-17     45.1     45.3    44.8      44.9  127142600         39.8
#> # ... with 3,409 more rows

由reprex包(v0.3.0(于2020-08-02创建

我认为应该在.xts上使用index(),而不是在tibble 上使用rownames_to_column()

library(quantmod)
library(dplyr)
price.xts <-getSymbols("QQQ", adjustOHLC = TRUE, auto.assign = FALSE)
price<-as_tibble(price.xts)
price$Date <-index(price.xts)
head(price)
tail(price)  

最新更新