2017-01-01 5 views
1

私はこのPOSIXct変数を使用して因子レベルを注文する方法は?

library(forcats) 
g <- data.frame(var = as.factor(c("C", "B", "A")), 
     dt = as.POSIXct(c("2016-01-01 00:02:20","2016-02-01 00:03:43", "2016-03-01 10:00:00"), format = "%Y-%m-%d %H:%M:%S", tz = "UTC") 
     ) 

のようなデータセットを持っている私は、DTフィールドに基づいてデータを楽しむしようとしたが、私はエラーを取得:

fct_relevel(g$var, order(g$dt)) 

> fct_relevel(g$var, order(g$dt)) 
[1] C B A 
Levels: A B C 
Warning message: 
Unknown levels in `f`: 1, 2, 3 
> 

この問題を解決する方法は?私はこの操作のためにforcatsパッケージを使用したいと思います。

答えて

1

我々は、例に基づいてorder

「DT」の
with(g, fct_relevel(var, levels(var)[order(dt)])) 
#[1] C B A 
#Levels: A B C 

に基づいて「VAR」のlevelsを指定することができ、「DT」はすでにorder編なので、それはlevelorderを変更しませんsの 'var'。

関連する問題