【问题标题】:Converting numbers to dates in R在R中将数字转换为日期
【发布时间】:2021-03-21 03:02:57
【问题描述】:

我有一个从 txt 文件导入的大型数据集,该文件具有多个日期变量,这些变量被格式化为数值 20190101,有没有办法在导入过程中指定日期格式?文件中没有标题,我在下面分配名称和长度示例代码。

df <- read_fwf("file name", 
                fwf_cols(id = 8,
                         update_date = 8,
                         name        = 35),
                skip = 0)   

或者有没有办法在一个语句中转换多个值而不是一次转换一个?

df$update_date <- as.Date(as.character(df$update_date), "%Y%m%d")  

【问题讨论】:

    标签: r date format


    【解决方案1】:

    这是一种将一个语句中的多个值转换为日期的方法 (假设 yyyy mm dd)。在这里,我们针对名称中以“日期”结尾的所有列。

    library(dplyr)
    
    
    df <- data.frame(update_date = c(20190101, 20190102, 20190103),
           end_date = c(20200101, 20200102, 20200103))
    
    df %>% mutate_at(vars(ends_with("date")), ~as.Date(as.character(.x),format="%Y%m%d"))
    

    你可能会类似地使用

    mutate_at(vars(starts_with("date")) 
    

    mutate_at(vars(c(update_date, end_date) 
    

    【讨论】:

    • 喜欢简单的克里斯!
    猜你喜欢
    • 2022-01-27
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    相关资源
    最近更新 更多