我有一个格式为
的数据集2037-12-31 06:30:06
我尝试以递减格式对其进行排序
我试过了
设数据集名称为dataset
,列Timestamp
我试过了
dataset[order(as.Date(dataset$Timestamp,format="%d%m%Y%H%M%s"),decreasing=TRUE),]
但它仍无效
答案 0 :(得分:0)
首先让我们准备一些模拟数据:
text <- "Timestamp data1 data2
'2037-12-31 06:30:06' 0.618 1.41
'2037-12-31 07:30:20' 42 42
'2016-01-08 19:15:00' 77 124
'2035-10-09 08:05:01' 3.141 98"
dataset <- read.table(text=text, header = TRUE)
现在数据存储在名为dataset
的数据框中:
> dataset
Timestamp data1 data2
1 2037-12-31 06:30:06 0.618 1.41
2 2037-12-31 07:30:20 42.000 42.00
3 2016-01-08 19:15:00 77.000 124.00
4 2035-10-09 08:05:01 3.141 98.00
为了根据日期和时间重新排列行,Timestamp
列中的值可以使用as.POSIXlt()
进行转换。
然后可以按相反的时间顺序对数据进行重新排序:
> dataset[order(as.POSIXlt(dataset$Timestamp,format="%Y-%m-%d %H:%M:%s"),decreasing=TRUE),]
# Timestamp data1 data2
#2 2037-12-31 07:30:20 42.000 42.00
#1 2037-12-31 06:30:06 0.618 1.41
#4 2035-10-09 08:05:01 3.141 98.00
#3 2016-01-08 19:15:00 77.000 124.00
希望这有帮助。