Это стыдно: я признаю несколько кусков кода шахты имеют сходную структуру к этому:Как создать переменную идентификатора на основе правила даты катания?
Arghhhh! Неужели настоящие программисты съеживаются, когда видят что-то вроде этого?
Фигура должна быть само за себя: мне нужна переменная Сезон, который возвращает идентификатор «(год-1) _ (год)» на основе столбца WEATHERDATE.
Таким образом, любая строка с датами от 1998-06-15 до 1999-06-14 должна возвращать «1998-1999» под Сезон ID.
Столбец WEATHERDATE просто запускается с 1998-01-01 по TODAY.
Держу пари, для этого есть одно/два вкладыша. Я пробовал пакет zoo, но не успел.
Любой мастер R, чтобы указать мне на очевидное решение, которого я здесь не хватает?
*** непередаваемы Пример:
WEATHERDATE <- seq(as.Date("1998-01-01"), len=99999, by=1)
VARIABLE <- rnorm(n = length(WEATHERDATE))
data_mex <- data.frame(WEATHERDATE, VARIABLE)
## how to create SEASON based on dates??
# I would then run the code block from above, something like:
data_mex <- within(data_mex, Season[DATEWEATHER >= ymd(StartOfSeason)+365*0 & DATEWEATHER < ymd(StartOfSeason)+365*1 ] <- "1998-1999")
Конечно решение, где я не должен вернуться и потрогать код каждый год будет идеальным :)
Очень приятно, @ajrwhite. tail (data_mex) показывает, что он провалился за последний год (ы) данных. Есть ли шанс, что вы можете исправить это в своем ответе? – Dan
Как я уже говорил, вам нужно указать правильный диапазон в 'seq.Date' в соответствии с вашими данными. В этом случае я изменил 'Sys.Date()' на '" 2280-06-15 "', что даст вам полное представление о вашем наборе данных примера. – ajrwhite
Конечно! Спасибо, @ajrwhite – Dan