我已经下载了比特币的每日价格为。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))