Yi Hao
Yi Hao

Reputation: 29

reorder factor level and apply the new order to original data

Currently I have df data with 3 column.

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

I am trying to reorder the factor data sizes as "small", "medium", "large" and apply it back to the df.

Once I apply

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

But my original data set still not reorder

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

Anyone helps?

Upvotes: 0

Views: 112

Answers (1)

Yi Hao
Yi Hao

Reputation: 29

We specify the levels in the factor to reorder.

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

Upvotes: 1

Related Questions