有没有一种简单的方法可以在 R 中反转数据框中的日期?

Is there a simple way of reversing the dates in a dataframe in R?

我已经将比特币的每日价格下载为 .csv 文件,数据从 2021 年到 2017 年排序,但我希望它从 2017 年到 2021 年。我最好的解决方案是通过索引反转每一列,但这有点耗时,因为每个资产有 10 列,而且至少还有 4 个资产要走。有没有办法一次简单地反转整个数据集?我试过 rev() ,它只是颠倒了列的顺序,这没有帮助。

BTC <- read.csv("Binance_BTCUSDT_d.csv", skip = 1)
  n1 <- nrow(BTC)
  BTC$date  <- as.Date(BTC$date[n1:1])
  BTC$open  <- BTC$open[n1:1]
  BTC$close <- BTC$close[n1:1]
  BTC$Volume.BTC <- BTC$Volume.BTC[n1:1]
  BTC_tradecount <- BTC$tradecount[n1:1]
  BTC$high <- NULL
  BTC$low <- NULL
  BTC$unix <- NULL
  BTC$symbol <- NULL
  BTC$Volume.USDT <- NULL
  BTC$tradecount <- NULL

我还必须删除一些列并“手动”执行此操作。如果有任何聪明的方法可以一次删除多个列,我也将不胜感激。

要对行进行排序,您可以使用:

BTC <- BTC[order(BTC$date),]

要一次删除多个列,您可以使用包 dplyr:

library('dplyr')

BTC <- BTC %>% select(-high, -low, -unix, -symbol, -Volume.USDT, -tradecount)

如果该列从高到贸易计数排序,您可以将其缩短为:

BTC <- BTC %>% select(-(high:tradecount))