【问题标题】:Create a proper date and time variable from an existing date variable in R从 R 中的现有日期变量创建适当的日期和时间变量
【发布时间】:2014-05-06 06:17:36
【问题描述】:

我有一个数据框“rta”,其中包含两个日期变量“Date.Time of Accident”和“Date.Time. of Death”。变量 'Date.Time.Death' 的日期和时间由空格分隔,时间为 24 小时格式,但分钟数不一致。同样,另一个变量 Date.Time.Accident 也只是这种格式。

rta <- data.frame(DMYT.Death = c('2008-12-30 10.15','2008-12-15 23','2008-12-15 18.15','2008-12-26 17','2008-12-21 14.45','2008-12-19 23'),stringsAsFactors=F)

我想将此变量设置为 YYYY-MM-DD hh:mm 的统一格式,例如 2008-12-30 10:15 可用于从两个日期变量计算生存期。怎么弄成这样?

【问题讨论】:

    标签: r date time


    【解决方案1】:
    rta
    ##            datevar
    ## 1 2008-12-30 10.15
    ## 2    2008-12-15 23
    ## 3 2008-12-15 18.15
    ## 4    2008-12-26 17
    ## 5 2008-12-21 14.45
    ## 6    2008-12-19 23
    
    
    # First we add the 'minutes' to strings where they are missing.
    
    
    rta$datevar[!grepl(".*\\..*", rta$datevar)] <- paste0(rta$datevar[!grepl(".*\\..*", rta$datevar)], ".00")
    rta
    ##            datevar
    ## 1 2008-12-30 10.15
    ## 2 2008-12-15 23.00
    ## 3 2008-12-15 18.15
    ## 4 2008-12-26 17.00
    ## 5 2008-12-21 14.45
    ## 6 2008-12-19 23.00
    
    
    # Convert the datevar to POSIXct class.
    rta$datevar <- as.POSIXct(rta$datevar, format = "%Y-%m-%d %H.%M")
    rta
    ##               datevar
    ## 1 2008-12-30 10:15:00
    ## 2 2008-12-15 23:00:00
    ## 3 2008-12-15 18:15:00
    ## 4 2008-12-26 17:00:00
    ## 5 2008-12-21 14:45:00
    ## 6 2008-12-19 23:00:00
    

    【讨论】:

    • 创建这个新的 POSIXct 日期变量后,数据框 rta 变得不可编辑。 Rcmdr 中的 >fix(rta) 给出以下错误消息。错误:只能处理向量和因子元素错误:数据集编辑错误。错误:找不到对象“save.dataset”;有没有办法让数据集保持可编辑的形式?
    • 那是因为fix 不能编辑 POSIXct 类列
    猜你喜欢
    • 2014-10-04
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多