You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中如何将0-6的数字转换为星期缩写字符?

R语言将数字星期转换为缩写的方法

下面给你几种简单易懂的实现方式,适合R语言新手:

方法1:基础R原生实现(无需额外包)

先定义一个与数字0-6对应的星期缩写向量,再利用R的索引特性匹配转换:

# 定义星期缩写向量,顺序对应0(Sun)到6(Sat)
week_abbr <- c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")

# 假设你的数据框名为df,添加新列weekday_abbr
df$weekday_abbr <- week_abbr[df$weekday + 1]

注:R的向量索引从1开始,所以给weekday加1,让0对应向量第1个元素"Sun",以此类推。

方法2:使用dplyr包(tidyverse风格)

如果你习惯用tidyverse系列工具,dplyr的recode或case_when函数更直观:

第一步:安装并加载dplyr

install.packages("dplyr")
library(dplyr)

用recode函数转换

df <- df %>%
  mutate(weekday_abbr = recode(weekday,
                               `0` = "Sun",
                               `1` = "Mon",
                               `2` = "Tue",
                               `3` = "Wed",
                               `4` = "Thu",
                               `5` = "Fri",
                               `6` = "Sat"))

用case_when函数转换(逻辑更清晰)

df <- df %>%
  mutate(weekday_abbr = case_when(
    weekday == 0 ~ "Sun",
    weekday == 1 ~ "Mon",
    weekday == 2 ~ "Tue",
    weekday == 3 ~ "Wed",
    weekday == 4 ~ "Thu",
    weekday == 5 ~ "Fri",
    weekday == 6 ~ "Sat"
  ))

额外提示

如果你的weekday列是字符类型(比如"0"、"1"),需要先转为数值型再转换:

df$weekday <- as.numeric(df$weekday)

内容的提问来源于stack exchange,提问作者yy2j2022

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 09:36:28