У меня есть фрейм данных, который представляет собой временной ряд метеорологических измерений с ежемесячным разрешением с 1961 по 2018. Мне интересна переменная, которая измеряет среднемесячную температуру, поскольку мне нужна многолетняя средняя температура для лет.
Для этого я должен отфильтровать из столбца «DateVaraible» пятую и шестую цифры, которые являются месяцем.Значения в столбце времени отформатированы следующим образом: «19610701».Поэтому мне нужен 07 (Juli) после 1961 года.
Я начинаю кодировать 1 месяц для других целей, поэтому я не пробовал ничего заслуживающего упоминания.Я думаю, что .grepl мог бы сделать работу, но я не знаю, как работает оператор «соответствия».
Итак, я начал с этого кода, который работает.
summersmonth<- Df[DateVariable %like% "19610101" I DateVariable %like% "19610201"]
Я ожидаю код, подобный этому
summermonths <- Df[DateVariable %like% "**06**" I DateVariable%like% "**07**..]
Так что все записи с месяцами цифры от 06 до09 сохраняются в новом фрейме летних месяцев.
Заранее благодарен за любой ответ или отзыв относительно моего вопроса.
Обновление
Спасибо за ваши ответыЯ получил первую часть, которая заключается в преобразовании переменной в as.date
в формате «месяц» (Class = char). Теперь мне нужно выбрать месяцы с июня по сентябрь.Ужасный способ получить желаемый результат - это сделать несколько subset
и rbind
впоследствии.
Sommer1<-subset(Df, MonthVar == "Mai")
Sommer2<-subset(Df, MonthVar == "Juli")
Sommer3<-subset(Df, MonthVar == "September")
SummerTotal<-rbind(Sommer1,Sommer2,Sommer3)
Я был бы очень рад увидеть это написанным аккуратно.
Обновление 2 - Решение
Вот простой способ, как здесь Использование нескольких критериев в функции подмножества и логических операторах
Veg_Seas<-subset(Df, subset = MonthVar %in% c("Mai","Juni","Juli","August","September"))