我在R中有以下 Dataframe :
> daily
DoW Duration
1 Friday 14.0000000000000
2 Monday 21.0000000000000
3 Saturday 12.0000000000000
4 Thursday 28.0000000000000
5 Tuesday 12.0000000000000
6 Wednesday 91.0000000000000
7 Sunday 20.0000000000000
我想更改因子水平的顺序,以便周按(美国)星期几顺序排列。
看起来我可以用relevel()
以一种缓慢而令人费解的方式来完成这一点,但它只接受一个数值参数并将其移到顶部,因此,relevel(daily$DoW, 7)
将星期日移到顶部,但其余的仍然无序(这意味着我需要以相反的顺序重新调整它)。
可行,但一定有更好的办法,对吧?
(Time也可接受串联解决方案。)
2条答案
按热度按时间z8dt9xmd1#
您需要在factor中指定级别,然后使用
order
进行索引:mwg9r5ms2#
而不是一个
factor
,你想要的是一个Ordered.Factor
。这行R代码将您的
DoW
变量转换为“有序因子”:现在,当您在
Dow
上使用table
、plot
或任何其他函数时,将按照上面指定的顺序。