0

我已将比特币的每日价格下载为 .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

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

4

1 回答 1

2

对于排序行,您可以使用以下命令:

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

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

library('dplyr')

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

如果该列从 high 到 tradecount 排序,您可以将其缩短为:

BTC <- BTC %>% select(-(high:tradecount))
于 2021-10-13T12:30:07.617 回答