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

在R中为仅含月日的日期列添加年份,并用lubridate获取星期

补全年份并生成星期列的解决方案

1. 补全年份(两种实现方式)

先给date列拼接年份后缀,同时转为日期格式,方便后续lubridate操作:

Base R 写法

# 构造你的示例数据
df <- data.frame(
  date = c("11/08", "11/08", "11/08", "11/08", "11/08", "11/08"),
  time = c("09:00", "10:00", "11:00", "12:00", "13:00", "14:00"),
  sales = c("84.15", "503.08", "674.25", "596.75", "338.05", "343.35")
)

# 拼接年份并转为日期格式
df$date <- as.Date(paste0(df$date, "/2022"), format = "%m/%d/%Y")

dplyr 管道写法(更简洁)

library(dplyr)

df <- df %>%
  mutate(date = as.Date(paste0(date, "/2022"), format = "%m/%d/%Y"))

2. 用lubridate生成星期列

转成日期格式后,直接用wday()函数提取星期,支持数字或文字标签:

library(lubridate)

# 生成数字型星期(1=周日,7=周六)
df$weekday_num <- wday(df$date)

# 生成中文完整星期名称(如"星期二")
df$weekday <- wday(df$date, label = TRUE, abbr = FALSE, locale = "zh_CN.UTF-8")

# 若需要英文缩写,去掉locale参数即可:
# df$weekday <- wday(df$date, label = TRUE, abbr = TRUE)

处理后的数据会包含带年份的日期列,以及对应的星期列,完全满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:47:30