[英]Turning weekday character variable into a factor and choosing the levels
我有一個像這樣的小數據集:
Wday av_obs
Tue 385
Thu 321
Fri 440
Wed 398
Sat 419
Mon 312
Sun 547
Wday 是一個字符變量,表示一周中的哪一天,av_obs 是一個數值變量,顯示在該工作日進行的平均觀察次數。 對於 plot 這種關系,我想將 Wday 變量轉換為具有“正常”周水平的因子變量。 (像這樣:周一 < 周二 < 周三 < 周四 < 周五 < 周六 < 周日)
我知道 as.factor function,但我認為它不允許我自己決定因子的水平。 它只是從數據框中復制訂單。
如果您知道快速簡便的方法,請提前告訴我並感謝!
首先, factor()和as.factor()之間的主要區別是第一個提供了一系列 arguments,包括定義有序級別。 這是一個具有可重現示例的示例:
df <- data.frame(
Wdays = weekdays(seq(as.Date("2021-01-25"),as.Date("2021-01-31"),by='day')),
av_obs = sample(350:600,7),
stringsAsFactors = FALSE
)
df$Wdays_factor <- factor(df$Wdays,levels=df$Wdays,ordered = TRUE) # to levels argument
different type of order can be written
df$Wdays_factor[1] < df$Wdays_factor[3]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.