Как установить тип данных столбца во фрейме данных

У меня есть такие столбцы:

year       period     period2        Sales
2015       201504     April 2015     10000
2015       201505     May 2015       11000
2018       201803     March 2018     12000

Я хочу изменить тип столбца period или period2 как дату, чтобы использовать ее позже при анализе временных рядов

Данные:

tibble::tibble(
  year = c(2015,2015,2018),
  period  = c(201504, 201505,201803 ),
  period2  =  c("April 2015", "May 2015", "March 2018"),
  Sales = c(10000,11000,12000)
)

Каков ваш ожидаемый результат?

Nad Pat 09.04.2022 15:01

в этот момент тип этих столбцов - «символ», поэтому мне нужно установить их как дату, потому что у меня есть еще один столбец о продажах, и мне нужно выполнить анализ временных рядов.

user15330237 09.04.2022 15:12
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
2
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используя пакет lubridate, вы можете преобразовать их в переменные даты:

   df <- tibble::tibble(
      year = c(2015,2015,2018),
      period  = c(201504, 201505,201803 ),
      period2  =  c("April 2015", "May 2015", "March 2018"),
      Sales = c(10000,11000,12000)
    )
    
    library(dplyr)
    df %>% 
      mutate(period = lubridate::ym(period),
             period2 = lubridate::my(period2))

Я обнаружил, что lubridate::my(period2) также работает нормально.

mkpt_uk 09.04.2022 15:42

Работает почти нормально, но можно ли избежать "дней" в выводе. потому что после использования этой функции у меня есть 2015-04-01, поэтому я хочу иметь только месячные данные: 2015-04

user15330237 09.04.2022 15:47

Может быть, тогда вам стоит взглянуть на stackoverflow.com/questions/50338191/…

Julian 09.04.2022 16:01

Я отредактировал свой ответ с вашими предложениями @mkpt_uk, гораздо более простое решение :)

Julian 09.04.2022 16:02

Другие вопросы по теме