【问题标题】:Joining three numeric columns without adding them in r [duplicate]连接三个数字列而不将它们添加到 r [重复]
【发布时间】:2018-12-11 11:29:07
【问题描述】:

我有一个带有“日期数据”的三列(除其他外)的 df:日、月和年。我想知道是否有任何聪明的方法可以将它们加入一个带有“DD-MM_YYYY”的列?也许用 lubridate?

`day<-c(2, 4, 22, 7, 17, 12)
month<-c(2, 1, 6, 12, 10, 5)
year<-c(1999, 2000, 2001, 1977, 1982, 1940)
df<-data.frame(day, month, year)`

我之前只加入了字符串列或创建了我已经完成计算的列。这对我来说是新的。

【问题讨论】:

    标签: r date lubridate


    【解决方案1】:

    既然你提到了lubridate,那这个呢?

    library(tidyverse)
    library(lubridate)
    df %>%
        unite(dmy, day, month, year) %>%
        transmute(dmy = dmy(dmy))
    #         dmy
    #1 1999-02-02
    #2 2000-01-04
    #3 2001-06-22
    #4 1977-12-07
    #5 1982-10-17
    #6 1940-05-12
    

    【讨论】:

    • 谢谢!像魅力一样工作。
    【解决方案2】:
    df$date <- as.Date(with(df, paste(day, month, year,sep="-")), "%d-%m-%y")     
    

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 1970-01-01
      • 2014-04-26
      • 2023-03-09
      • 2013-01-07
      • 2022-11-19
      相关资源
      最近更新 更多