## 매년 우리의 기념일을 구한다.

bsbirth <- seq(as.Date("1991-12-03"), by = "year", length.out = 100)
ygbirth <- seq(as.Date("1992-05-20"), by = "year", length.out = 100)
anniversary <- seq(as.Date("2012-05-15"), by = "year", length.out = 100)


## 데이터 프레임으로 정리

df.bsbirth <- data.frame(Date = as.POSIXlt(bsbirth), Day = as.factor(as.POSIXlt(bsbirth)$wday + 
    1), group = "bsbirth")
df.ygbirth <- data.frame(Date = as.POSIXlt(ygbirth), Day = as.factor(as.POSIXlt(ygbirth)$wday + 
    1), group = "ygbirth")
df.anniversary <- data.frame(Date = as.POSIXlt(anniversary), Day = as.factor(as.POSIXlt(anniversary)$wday + 
    1), group = "anniversary")
d <- rbind(df.bsbirth, df.ygbirth, df.anniversary)

## 요인을 요일로 바꾼다

levels(d[, 2]) <- c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")

## 기념일이 주말인 걸 구한다.

hollyday <- d[, 2] == "Fri" | d[, 2] == "Sat" | d[, 2] == "Sun"
d[which(hollyday), , drop = FALSE]
##           Date Day       group
## 3   1993-12-03 Fri     bsbirth
## 4   1994-12-03 Sat     bsbirth
## 5   1995-12-03 Sun     bsbirth
## 9   1999-12-03 Fri     bsbirth
## 10  2000-12-03 Sun     bsbirth
## 14  2004-12-03 Fri     bsbirth
## 15  2005-12-03 Sat     bsbirth
## 16  2006-12-03 Sun     bsbirth
## 20  2010-12-03 Fri     bsbirth
## 21  2011-12-03 Sat     bsbirth
## 26  2016-12-03 Sat     bsbirth
## 27  2017-12-03 Sun     bsbirth
## 31  2021-12-03 Fri     bsbirth
## 32  2022-12-03 Sat     bsbirth
## 33  2023-12-03 Sun     bsbirth
## 37  2027-12-03 Fri     bsbirth
## 38  2028-12-03 Sun     bsbirth
## 42  2032-12-03 Fri     bsbirth
## 43  2033-12-03 Sat     bsbirth
## 44  2034-12-03 Sun     bsbirth
## 48  2038-12-03 Fri     bsbirth
## 49  2039-12-03 Sat     bsbirth
## 54  2044-12-03 Sat     bsbirth
## 55  2045-12-03 Sun     bsbirth
## 59  2049-12-03 Fri     bsbirth
## 60  2050-12-03 Sat     bsbirth
## 61  2051-12-03 Sun     bsbirth
## 65  2055-12-03 Fri     bsbirth
## 66  2056-12-03 Sun     bsbirth
## 70  2060-12-03 Fri     bsbirth
## 71  2061-12-03 Sat     bsbirth
## 72  2062-12-03 Sun     bsbirth
## 76  2066-12-03 Fri     bsbirth
## 77  2067-12-03 Sat     bsbirth
## 82  2072-12-03 Sat     bsbirth
## 83  2073-12-03 Sun     bsbirth
## 87  2077-12-03 Fri     bsbirth
## 88  2078-12-03 Sat     bsbirth
## 89  2079-12-03 Sun     bsbirth
## 93  2083-12-03 Fri     bsbirth
## 94  2084-12-03 Sun     bsbirth
## 98  2088-12-03 Fri     bsbirth
## 99  2089-12-03 Sat     bsbirth
## 100 2090-12-03 Sun     bsbirth
## 103 1994-05-20 Fri     ygbirth
## 104 1995-05-20 Sat     ygbirth
## 109 2000-05-20 Sat     ygbirth
## 110 2001-05-20 Sun     ygbirth
## 114 2005-05-20 Fri     ygbirth
## 115 2006-05-20 Sat     ygbirth
## 116 2007-05-20 Sun     ygbirth
## 120 2011-05-20 Fri     ygbirth
## 121 2012-05-20 Sun     ygbirth
## 125 2016-05-20 Fri     ygbirth
## 126 2017-05-20 Sat     ygbirth
## 127 2018-05-20 Sun     ygbirth
## 131 2022-05-20 Fri     ygbirth
## 132 2023-05-20 Sat     ygbirth
## 137 2028-05-20 Sat     ygbirth
## 138 2029-05-20 Sun     ygbirth
## 142 2033-05-20 Fri     ygbirth
## 143 2034-05-20 Sat     ygbirth
## 144 2035-05-20 Sun     ygbirth
## 148 2039-05-20 Fri     ygbirth
## 149 2040-05-20 Sun     ygbirth
## 153 2044-05-20 Fri     ygbirth
## 154 2045-05-20 Sat     ygbirth
## 155 2046-05-20 Sun     ygbirth
## 159 2050-05-20 Fri     ygbirth
## 160 2051-05-20 Sat     ygbirth
## 165 2056-05-20 Sat     ygbirth
## 166 2057-05-20 Sun     ygbirth
## 170 2061-05-20 Fri     ygbirth
## 171 2062-05-20 Sat     ygbirth
## 172 2063-05-20 Sun     ygbirth
## 176 2067-05-20 Fri     ygbirth
## 177 2068-05-20 Sun     ygbirth
## 181 2072-05-20 Fri     ygbirth
## 182 2073-05-20 Sat     ygbirth
## 183 2074-05-20 Sun     ygbirth
## 187 2078-05-20 Fri     ygbirth
## 188 2079-05-20 Sat     ygbirth
## 193 2084-05-20 Sat     ygbirth
## 194 2085-05-20 Sun     ygbirth
## 198 2089-05-20 Fri     ygbirth
## 199 2090-05-20 Sat     ygbirth
## 200 2091-05-20 Sun     ygbirth
## 204 2015-05-15 Fri anniversary
## 205 2016-05-15 Sun anniversary
## 209 2020-05-15 Fri anniversary
## 210 2021-05-15 Sat anniversary
## 211 2022-05-15 Sun anniversary
## 215 2026-05-15 Fri anniversary
## 216 2027-05-15 Sat anniversary
## 221 2032-05-15 Sat anniversary
## 222 2033-05-15 Sun anniversary
## 226 2037-05-15 Fri anniversary
## 227 2038-05-15 Sat anniversary
## 228 2039-05-15 Sun anniversary
## 232 2043-05-15 Fri anniversary
## 233 2044-05-15 Sun anniversary
## 237 2048-05-15 Fri anniversary
## 238 2049-05-15 Sat anniversary
## 239 2050-05-15 Sun anniversary
## 243 2054-05-15 Fri anniversary
## 244 2055-05-15 Sat anniversary
## 249 2060-05-15 Sat anniversary
## 250 2061-05-15 Sun anniversary
## 254 2065-05-15 Fri anniversary
## 255 2066-05-15 Sat anniversary
## 256 2067-05-15 Sun anniversary
## 260 2071-05-15 Fri anniversary
## 261 2072-05-15 Sun anniversary
## 265 2076-05-15 Fri anniversary
## 266 2077-05-15 Sat anniversary
## 267 2078-05-15 Sun anniversary
## 271 2082-05-15 Fri anniversary
## 272 2083-05-15 Sat anniversary
## 277 2088-05-15 Sat anniversary
## 278 2089-05-15 Sun anniversary
## 282 2093-05-15 Fri anniversary
## 283 2094-05-15 Sat anniversary
## 284 2095-05-15 Sun anniversary
## 288 2099-05-15 Fri anniversary
## 289 2100-05-15 Sat anniversary
## 290 2101-05-15 Sun anniversary
## 294 2105-05-15 Fri anniversary
## 295 2106-05-15 Sat anniversary
## 296 2107-05-15 Sun anniversary
## 300 2111-05-15 Fri anniversary

## 100살까지 주말인게 몇일 일까?

length(d[which(hollyday), , drop = FALSE]$Day)
## [1] 130