对因子水平重新排序并将新顺序应用于原始数据



目前我有 3 列的 df 数据。

sizes <- factor(c("small", "large", "large", "small", "medium"))
c <- sample(1:5)
a <- c("M","M","F","M","F")
df <- data.frame(sizes,c,a)
> head(df$sizes)
[1] small  large  large  small  medium
Levels: large medium small
> head(df)
       sizes c a
    1  small 1 M
    2  large 3 M
    3  large 4 F
    4  small 5 M
    5 medium 2 F

我正在尝试将因子数据大小重新排序为"小"、"中"、"大",并将其应用回 df。

一旦我申请

sizes <- factor(sizes, levels = c("small", "medium", "large"))
sizes
[1] small  large  large  small  medium
Levels: small medium large

但我的原始数据集仍然没有重新排序

> head(df$sizes)
[1] small  large  large  small  medium
Levels: large medium small

有人帮忙吗?

我们在factor中指定要重新排序的levels

 df$sizes <- factor(df$sizes, levels = c("small", "medium", "large"))

最新更新