Создайте несколько переменных с отсутствующими значениями даты и форматом в R - PullRequest
0 голосов
/ 24 сентября 2018

Мне нужно создать переменные с датой в виде значений из объединения 3 полей или переменных - поля, относящегося к "month_i", другого отдельного поля, относящегося к "day_i", и поля со значением "year_i" с iот 0 до 9. Но некоторые значения "day_i" отсутствуют.Я хотел использовать для этого день начала или конец месяца.Например,

StartingDate_0 <- paste(month_0, day_0, year_0)

И мне нужно сделать это 10 раз для "StartingDates_i" (i = от 0 до 9) и еще 10 раз для "EndingDates_i" (i = 0до 9).

Часть моего кода выглядит так:

DataDates <- df3[("id")] %>% left_join(df3 %>% mutate(
  StartDate_0=paste(X.0.Bmonth,X.0.Bday,X.0.Byear, sep="-"),     
  StartDate_1=paste(X.1.Bmonth,X.1. Bday,X.1.Byear, sep="-"),
  StartDate_2=paste(X.2.Bmonth,X.2. Bday,X.2.Byear, sep="-"),
  StartDate_3=paste(X.3.Bmonth,X.3. Bday,X.3.Byear, sep="-"),
  StartDate_4=paste(X.4.Bmonth,X.4. Bday,X.4.Byear, sep="-"),
  StartDate_5=paste(X.5.Bmonth,X.5. Bday,X.5.Byear, sep="-"),
  StartDate_6=paste(X.6.Bmonth,X.6. Bday,X.6.Byear, sep="-"),
  StartDate_7=paste(X.7.Bmonth,X.7. Bday,X.7.Byear, sep="-"),
  StartDate_8=paste(X.8.Bmonth,X.8. Bday,X.8.Byear, sep="-"),
  StartDate_9=paste(X.9.Bmonth,X.9. Bday,X.9.Byear, sep="-"),
  EndDate_0=paste(X.0.Emonth,X.0.Eday,X.0.Eyear, sep="-"),     
  EndDate_1=paste(X.1.Emonth,X.1. Eday,X.1.Eyear, sep="-"),
  EndDate_2=paste(X.2.Emonth,X.2. Eday,X.2.Eyear, sep="-"),
  EndDate_3=paste(X.3.Emonth,X.3. Eday,X.3.Eyear, sep="-"),
  EndDate_4=paste(X.4.Emonth,X.4. Eday,X.4.Eyear, sep="-"),
  EndDate_5=paste(X.5.Emonth,X.5. Eday,X.5.Eyear, sep="-"),
  EndDate_6=paste(X.6.Emonth,X.6. Eday,X.6.Eyear, sep="-"),
  EndDate_7=paste(X.7.Emonth,X.7. Eday,X.7.Eyear, sep="-"),
  EndDate_8=paste(X.8.Emonth,X.8. Eday,X.8.Eyear, sep="-"),
  EndDate_9=paste(X.9.Emonth,X.9. Eday,X.9.Eyear, sep="-")))

И пример результата дал мне StartDate_0 из "3-NA-2009".Как я могу сделать это как "3-1-2009", но с as.Date?А для Enddate_0 из "5-NA-2011" как "5-31-2011?Я попытался поместить mdy() перед вставкой, а затем использовать lubridate, но это не удалось.

Простите мои сценарии, поскольку я действительно пытаюсь, как начинающий пользователь R.

...