是否有一种简单的方法可以在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))

最新更新