簡體   English   中英

將工作日字符變量轉換為因素並選擇級別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM