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

R语言中字符型日期转日期类型时数据丢失的问题求助

解决日期转换丢失问题

你的日期字符串是**日/月/年(DD/MM/YYYY)**格式,但转换时错误使用了%m-%d-%Y(月-日-年)的格式参数,导致日数值大于12的日期无法被正确解析,变成NA,所以出现大量日期丢失的情况。

正确的日期转换代码

使用%d/%m/%Y格式参数匹配你的日期结构:

df <- data.frame(
  Created_date_c = 
    c("01/10/2022", "21/11/2021", "15/08/2022", "01/01/2022")
)

# 正确转换日期
df$Created_date_c <- as.Date(df$Created_date_c, format = "%d/%m/%Y")

# 查看转换结果
print(df$Created_date_c)

转换后输出:

[1] "2022-10-01" "2021-11-21" "2022-08-15" "2022-01-01"

筛选10月数据的方法

基础R实现

# 筛选指定年份的10月数据(比如2022年)
october_data <- df[format(df$Created_date_c, "%Y-%m") == "2022-10", ]

用lubridate包简化操作(推荐)

lubridate能自动识别DD/MM/YYYY格式,无需手动指定格式:

library(lubridate)

# 转换日期
df$Created_date_c <- dmy(df$Created_date_c)

# 筛选所有年份的10月数据
october_data <- df[month(df$Created_date_c) == 10, ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:30:53