我有这样的数据集
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
> 如何解决这个问题?我想在这个操作中使用forcat软件包。
发布于 2017-01-01 16:27:30
我们可以根据'dt‘的levels来指定'var’的order。
with(g, fct_relevel(var, levels(var)[order(dt)]))
#[1] C B A
#Levels: A B C基于这个例子,'dt‘已经被order编辑了,所以它不会改变'var’的levels的order。
https://stackoverflow.com/questions/41416958
复制相似问题