8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

R 中字符串到日期转换的“标准明确日期”错误

Oliver Oliver 1月前

23 0

因此,我正在尝试此代码,我过去曾将其用于其他数据整理任务,且没有任何错误:## 根据每个人的 start_date 创建一个 age_at_enrollment 变量(即我想要...

因此,我正在尝试此代码,我过去曾将其用于其他数据整理任务,并且没有任何错误:

## Create an age_at_enrollment variable, based on the start_date per individual (i.e. I want to know an individual's age, when they began their healthcare job).

complete_dataset_1 = complete_dataset %>% mutate(age_at_enrollment = (as.Date(start_date)-as.Date(birth_date))/365.25)

但是,我一直收到此错误消息:\'charToDate(x)中的错误:字符串不是标准的明确格式\'

我认为发生此错误是因为在我使用的管理数据集中,start_date 和birth_date变量的格式很奇怪:

start_date    birth_date
2/5/07 0:00   2/28/1992 0:00

我找不到为什么数据会被这样格式化的答案,那么在不改变原始管理数据集的情况下,如何解决这个问题呢?

帖子版权声明 1、本帖标题:R 中字符串到日期转换的“标准明确日期”错误
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Oliver Oliver在本站《datetime》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 非常感谢!但是,我很好奇,我只是在寻找一个年龄变量,它可以告诉我一个人是 25 岁、26 岁、27 岁等等。如何最好地划分两列之间的差异?因为现在,我刚刚创建的年龄变量告诉我观察对象的年龄(以天为单位),这比我要找的更详细。

  • 调用 时存在歧义 as.Date ,即日期或月份是否在前。要解决此问题,您可以使用 format 参数 as.Date

    complete_dataset_1 = complete_dataset
        %>% mutate(age_at_enrollment = (
            as.Date(start_date, format="%m/%d/%Y") -
            as.Date(birth_date, format="%m/%d/%Y")) / 365.25)
    

    计算年份差异并处理闰年边缘情况的更精确的方法是使用以下 lubridate 包:

    library(lubridate)
    complete_dataset_1 = complete_dataset
        %>% mutate(age_at_enrollment = time_length(difftime(
            as.Date(start_date, format="%m/%d/%Y"),
            as.Date(birth_date, format="%m/%d/%Y")), "years")
    
返回
作者最近主题: