【发布时间】:2017-08-31 03:55:31
【问题描述】:
as_factor 来自 forcats 可以返回有序因子吗?尽管我没有看到它在GitHub page 上报告为问题,但它似乎是一个缺失的功能。
我试过了:
y <- forcats::as_factor(c("a", "z", "g"), ordered = TRUE)
is.ordered(y)
# FALSE
如果我做不到,那么这样做是否有任何潜在的危险:
y <- ordered(forcats::as_factor(c("a", "z", "g")))
或者这样做会更好:
y <- factor(c("a", "z", "g"), levels = unique(c("a", "z", "g")), ordered = TRUE))
【问题讨论】:
-
虽然
forcats:::as_factor.character调用fct_inorder,它支持ordered=参数,但它似乎被硬编码为fct_inorder(x),所以无论你传入什么,它都不会被订购。这可能是一个错误,因为fct_inorder(x,...)似乎允许额外的ordered=