【问题标题】:R - Is there a simple way to convert all prefixes of day of week to number in a data frame column?R - 有没有一种简单的方法可以将星期几的所有前缀转换为数据框列中的数字?
【发布时间】:2019-08-20 02:23:00
【问题描述】:

给定以下代码生成的数据框:

> df = data.frame(day=c('Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun'),
+                 value=c(2,4,1,2,3,4,1))
> df
    day value
1   Mon     2
2  Tues     4
3   Wed     1
4 Thurs     2
5   Fri     3
6   Sat     4
7   Sun     1

我想将Mon, ..., Sun 分别转换为1, ...7 以反映星期几的索引。

是否有一种更简单/更直接的方法来执行此操作,而不是使用定义的函数来检查列值并将前缀转换为其分配的值?

【问题讨论】:

标签: r dataframe datetime


【解决方案1】:

按您想要的顺序定义日期,然后使用match

wdays <- c("Mon", "Tues", "Wed", "Thurs", "Fri", "Sat", "Sun")
match(df$day, wdays)
#[1] 1 2 3 4 5 6 7

【讨论】:

  • 谢谢!这是一个非常简洁的答案:)
猜你喜欢
  • 2021-12-01
  • 2010-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-24
  • 1970-01-01
  • 2020-12-02
  • 2010-09-06
相关资源
最近更新 更多