【问题标题】:Turning weekday character variable into a factor and choosing the levels将工作日字符变量转换为因素并选择级别
【发布时间】:2021-04-30 03:58:57
【问题描述】:

我有一个像这样的小数据集:

   Wday     av_obs

   Tue       385
   Thu       321
   Fri       440
   Wed       398
   Sat       419
   Mon       312
   Sun       547

Wday 是一个字符变量,表示一周中的哪一天,av_obs 是一个数值变量,显示该工作日的平均观察次数。 为了绘制这种关系,我想将 Wday 变量转换为具有根据“正常”周水平的因子变量。 (像这样:Mon

我知道 as.factor 函数,但我认为它不允许我自己决定因子的级别。它只是从数据框中复制订单。

如果您知道快速简便的方法,请提前告诉我并感谢!

【问题讨论】:

  • 试试:x$Wday <- factor(x$Wday, c("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"))

标签: r levels weekday


【解决方案1】:

首先,factor()as.factor() 之间的主要区别是第一个提供了一系列参数,包括定义有序级别。 这是一个具有可重现示例的示例:

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]

【讨论】:

    猜你喜欢
    • 2021-02-10
    • 2017-12-15
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    相关资源
    最近更新 更多