1

データ フレームに次のような変数があるとします。

x <- rep(seq(10, 50, by = 10), each = 20) %>% factor() %>% forcats::fct_shuffle()

ここで、レベルを昇順に並べ替えたいと思います。理論的には、factorもう一度使用して手動でレベルを定義できます。

factor(x, levels = c(10, 20, 30, 40, 50))

しかし、長期的には扱いにくいようで、レベルがはるかに高くなる可能性があります。では、レベルを昇順に並べ替えるにはどうすればよいでしょうか。

4

1 に答える 1

2

多分:

factor(x, levels =  sort(levels(x)))

# [1] 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
# [41] 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
# [81] 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
# Levels: 10 20 30 40 50

forcats:

forcats::fct_inorder(x)

データ:

x <- rep(seq(10, 50, by = 10), each = 20) %>% factor() %>% forcats::fct_shuffle()
于 2018-11-28T11:24:00.060 に答える