Skip to content

Instantly share code, notes, and snippets.

@mkim0710
Last active November 17, 2018 11:52
Show Gist options
  • Save mkim0710/8f4d08ab5dae4561ccce1e1a9afe4df0 to your computer and use it in GitHub Desktop.
Save mkim0710/8f4d08ab5dae4561ccce1e1a9afe4df0 to your computer and use it in GitHub Desktop.
ExampleData4defineDate.MDD
#@ ExampleData4defineDate.MDD = read_csv(url("https://raw.githubusercontent.com/mkim0710/tidystat/master/data/ExampleData4defineDate.MDD.csv")) =====
library(tidyverse)
ExampleData4defineDate.MDD = read_csv(url("https://raw.githubusercontent.com/mkim0710/tidystat/master/data/ExampleData4defineDate.MDD.csv"))
ExampleData4defineDate.MDD %>% dput
ExampleData4defineDate.MDD %>% str(give.attr = F) #----
ExampleData4defineDate.MDD %>% as.tibble # ----
# > ExampleData4defineDate.MDD %>% dput
# structure(list(PERSON_ID = 1:20, DTH_YM = structure(c(NA, NA,
# 15399, 15705, 15917, 15583, NA, NA, NA, NA, NA, NA, NA, NA, 16039,
# 15764, NA, NA, 15917, NA), class = "Date"), minDate.MDD = structure(c(14888,
# NA, NA, 14435, NA, NA, 13859, NA, NA, 15463, NA, 14484, NA, NA,
# 14374, NA, NA, 13622, NA, 13923), class = "Date"), min2ndDate.MDD = structure(c(14923,
# NA, NA, NA, NA, NA, 14030, NA, NA, NA, NA, 14492, NA, NA, NA,
# NA, NA, 14896, NA, NA), class = "Date"), minDate.ATC_N06A = structure(c(15330,
# NA, NA, NA, NA, NA, 14006, NA, NA, NA, NA, 14484, NA, NA, 14374,
# NA, NA, 14896, NA, NA), class = "Date"), defineDate.MDD = structure(c(15330,
# NA, NA, NA, NA, NA, 14030, NA, NA, NA, NA, 14492, NA, NA, NA,
# NA, NA, 14896, NA, NA), class = "Date")), row.names = c(NA, -20L
# ), class = c("tbl_df", "tbl", "data.frame"), spec = structure(list(
# cols = list(PERSON_ID = structure(list(), class = c("collector_integer",
# "collector")), DTH_YM = structure(list(format = ""), class = c("collector_date",
# "collector")), minDate.MDD = structure(list(format = ""), class = c("collector_date",
# "collector")), min2ndDate.MDD = structure(list(format = ""), class = c("collector_date",
# "collector")), minDate.ATC_N06A = structure(list(format = ""), class = c("collector_date",
# "collector")), defineDate.MDD = structure(list(format = ""), class = c("collector_date",
# "collector"))), default = structure(list(), class = c("collector_guess",
# "collector"))), class = "col_spec"))
# > ExampleData4defineDate.MDD %>% str(give.attr = F) #----
# Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 20 obs. of 6 variables:
# $ PERSON_ID : int 1 2 3 4 5 6 7 8 9 10 ...
# $ DTH_YM : Date, format: NA NA "2012-02-29" "2012-12-31" ...
# $ minDate.MDD : Date, format: "2010-10-06" NA NA "2009-07-10" ...
# $ min2ndDate.MDD : Date, format: "2010-11-10" NA NA NA ...
# $ minDate.ATC_N06A: Date, format: "2011-12-22" NA NA NA ...
# $ defineDate.MDD : Date, format: "2011-12-22" NA NA NA ...
# > ExampleData4defineDate.MDD %>% as.tibble # ----
# # A tibble: 20 x 6
# PERSON_ID DTH_YM minDate.MDD min2ndDate.MDD minDate.ATC_N06A defineDate.MDD
# <int> <date> <date> <date> <date> <date>
# 1 1 NA 2010-10-06 2010-11-10 2011-12-22 2011-12-22
# 2 2 NA NA NA NA NA
# 3 3 2012-02-29 NA NA NA NA
# 4 4 2012-12-31 2009-07-10 NA NA NA
# 5 5 2013-07-31 NA NA NA NA
# 6 6 2012-08-31 NA NA NA NA
# 7 7 NA 2007-12-12 2008-05-31 2008-05-07 2008-05-31
# 8 8 NA NA NA NA NA
# 9 9 NA NA NA NA NA
# 10 10 NA 2012-05-03 NA NA NA
# 11 11 NA NA NA NA NA
# 12 12 NA 2009-08-28 2009-09-05 2009-08-28 2009-09-05
# 13 13 NA NA NA NA NA
# 14 14 NA NA NA NA NA
# 15 15 2013-11-30 2009-05-10 NA 2009-05-10 NA
# 16 16 2013-02-28 NA NA NA NA
# 17 17 NA NA NA NA NA
# 18 18 NA 2007-04-19 2010-10-14 2010-10-14 2010-10-14
# 19 19 2013-07-31 NA NA NA NA
# 20 20 NA 2008-02-14 NA NA NA
ExampleData4defineDate.MDD = ExampleData4defineDate.MDD %>%
mutate(defineDate.MDD.new = pmax(min2ndDate.MDD, minDate.ATC_N06A))
identical(ExampleData4defineDate.MDD$defineDate.MDD, ExampleData4defineDate.MDD$defineDate.MDD.new) #----
# > identical(ExampleData4defineDate.MDD$defineDate.MDD, ExampleData4defineDate.MDD$defineDate.MDD.new) #----
# [1] TRUE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment