문자열을 날짜 형식으로 변환해야합니다. 나는 POSIXct
을 사용합니다. 그런 다음 cut
을 사용하여 날짜를 그룹으로 나눌 수 있습니다. 그룹에서 더미 변수를 만들려면 model.matrix
을 사용할 수 있습니다. 결과를 더 잘 보여주기 위해 몇 가지 테스트 날짜를 추가했습니다. "strptime (날짜 - strptime에
Breaks = as.POSIXct(c("06/01/15", "06/16/15", "07/01/15",
"07/16/15", "08/01/15"), format="%m/%d/%y")
TestData = c("06/15/15", "06/13/15", "06/20/15", "07/17/15")
Periods = cut(as.POSIXct(TestData, format="%m/%d/%y"), breaks=Breaks)
as.numeric(Periods)
[1] 1 1 2 4
Dummies = model.matrix(~ Periods - 1)
Periods2015-06-01 Periods2015-06-16 Periods2015-07-01 Periods2015-07-16
1 1 0 0 0
2 1 0 0 0
3 0 1 0 0
4 0 0 0 1
Result = data.frame(TestData, Dummies)
names(Result) = c("Date", "Period1", "Period2", "Period3", "Period4")
Result
Date Period1 Period2 Period3 Period4
1 06/15/15 1 0 0 0
2 06/13/15 1 0 0 0
3 06/20/15 0 1 0 0
4 07/17/15 0 0 0 1
출처
2017-03-06 14:08:13
G5W
, 도와 주셔서 감사합니다! – olive