Адрес определенных числовых переменных в зависимости от числа после последней обратной косой черты - PullRequest
0 голосов
/ 14 июня 2019

В моем фрейме данных у меня есть столбец, который состоит из дат. Те даты, которые я конвертировал в обозначения DD / MM / YY, теперь мне интересно, могу ли я адресовать только те строки в моем фрейме, для которых YY моей даты равен определенному числу. Скажем, например, я хочу посмотреть только на строки, для которых год 18, но это включает все дни и месяцы. Пример:

значения <- (3, 4, 5, 2) </p>

даты <- ("6/7/19", "3/5/18", "12/12/18", "5/2/12") </p>

frame <- data.frame (значения, даты) </p>

Теперь, например, frame [date == "3/5/18", "values"] даст мне 4, но мне интересно, могу ли я использовать определенную команду для нацеливания на все строки, которые имеют 18 в место года в скобках. Кроме того, позже я хочу создать подкадр, который содержит только те строки (из 400 000 точек данных), в которых указанный год был 18, но я предполагаю, что это сработает, как только я пойму, как обращаться с этой переменной.

Спасибо за ответы заранее. Любая помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 14 июня 2019

Я рекомендую использовать пакет lubridate, поскольку он имеет удобные функции для преобразования метки времени в Date -формат.Используйте dmy() (сокращение от день-месяц-год) для преобразования ваших временных меток.Вот пример использования синтаксиса dplyr:

library(lubridate)
library(dplyr)
DF <- data.frame(
  date = dmy(c("19/01/18", "12/05/18", "30/03/19")),
  dummydata = paste0("dummy", 1:3)
)

DF %>% 
  filter(year(date) == 2018)
0 голосов
/ 14 июня 2019

Не уверен, что именно ваш вопрос без примера.Если я правильно понимаю, вы хотите извлечь год из TimeStamp и использовать его для фильтрации строк из DataFrame.Вы можете извлечь год из TimeStamp, используя год.

Example: year(now())
            [1] 2019
...