2017-04-14 4 views
-3

日付を降順でソートしたいと思います。特定の日時のような値を注文する方法

現在、私はこのアプローチを使用していますが、必ずしもそうではありません。

data.frame(zoo(data order.by=as.POSIXct(data$date)), row.names=NULL) 

dateは、これらの値が含まれています:

x <- "2261 2017-04-14 08:42:17.287374 
     2262 2017-04-14 08:44:30.683207 
     2263 2017-04-14 08:46:43.611042 
     2264 2017-04-14 08:48:56.991276 
     2265 2017-04-14 11:24:26.808124 
     2266 2017-04-14 08:51:09.794308 
     2267 2017-04-14 08:54:06.324218 
     2268 2017-04-14 08:56:19.610852" 

d <- read.table(text=x, header=F) 

V1はdata.frameでrownamesで、かつV2V3が分離が、1つの列、date名前が付いていないことに注意してください。

だから、これは私が持っている何近い:

data <- data.frame(date=paste(d$V1,d$V2, sep=" ")) 
+4

は、再現性の例を提供する方法については、[MCVE]を参照してください。 –

+0

まあ、私は現在のソリューションと一緒にデータと説明を提供しましたが、他に何が欠けているかわかりません... read-inソリューションが提供されました... – Maximilian

+0

質問で定義された 'data $ date'は因子であり、 '2261 2017-04-14'はPOSIXctへの変換には有効ではありません。 'z < - read.zoo(text = x、index = 2:3、tz =" ")'は 'x'を動物園のオブジェクト' z'に読み込み、 'fortify.zoo(z)'はそれをdata.frame。 –

答えて

2
x <- "2261 2017-04-14 08:42:17.287374 
     2262 2017-04-14 08:44:30.683207 
2263 2017-04-14 08:46:43.611042 
2264 2017-04-14 08:48:56.991276 
2265 2017-04-14 11:24:26.808124 
2266 2017-04-14 08:51:09.794308 
2267 2017-04-14 08:54:06.324218 
2268 2017-04-14 08:56:19.610852" 

d <- read.table(text=x, header=F) 

rnames = d$V1 

d$Date = paste(d$V2, d$V3) 
d$Date = as.POSIXct(d$Date) 

rownames(d) = rnames 


d = d[order(d$Date, decreasing = TRUE), ] 
d = d["Date"] 

> d 
        Date 
2265 2017-04-14 11:24:26 
2268 2017-04-14 08:56:19 
2267 2017-04-14 08:54:06 
2266 2017-04-14 08:51:09 
2264 2017-04-14 08:48:56 
2263 2017-04-14 08:46:43 
2262 2017-04-14 08:44:30 
2261 2017-04-14 08:42:17 
関連する問題