Конвертировать строку в дату R испанский - PullRequest
0 голосов
/ 01 апреля 2020

Я читаю некоторую информацию из CSV, у него есть поле с именем date, но это строка с этим форматом: ID, "Дата", "PM25", "PM10", "ТЕМП" -1, «Мирколес, 20 февраля 2019, 7:10», 24,25,25,8 2, «Мир, 20 февраля 2019, 9:13», 19,21,24,4 3, «Мир, 20 февраля 2019, 14:55», 32, 37, 28.1 4, «Мир, 20 февраля 2019, 15:06», 34, 39, 29.2 5, «Мир, 20 февраля 2019, 15:17», 34,38,29,6 6, «Мирколес, 20 февраля 2019, 15:27», 33,37,29,6 7, «Мирколес, 20 февраля 2019, 15:38», 31,33,29,0 8, «Мир, 20 февраля 2019, 15:49», 29, 33, 28.8 9, «Мерколес, 20 февраля 2019 года, 16:00», 30, 32, 28,8 10, «Мирколес, 20 февраля 2019, 16:11», 28,29,28,4

Я хочу преобразовать строку в дату и создать новый столбец в формате дд-мм-гггг, для этого я использую эту инструкцию:

datos <- read.csv("Registros.csv", header=TRUE, sep=",", stringsAsFactors = F)

datos$Fechas <- as.Date(datos$Fecha, "%d %B %Y")

Но я просто получаю NA в результате.

Я изменяю его вручную на "20 февраля 2019 года", но он все еще возвращает NA

Я также пробовал с lubridate

library(lubridate)
datos$Fechas <- dmy(datos$Fecha)

Но я получить это предупреждение, а также NA в результате: Предупреждение: Все форматы не удалось разобрать. Форматы не найдены.

1 Ответ

0 голосов
/ 01 апреля 2020

Вы были действительно близко; однако, если у вас есть также минуты и секунды внутри одной и той же строки, вы можете использовать dmy_hm вместо dmy для преобразования строки в дату. После этого вы можете использовать stamp, чтобы установить желаемый формат для вашей даты. Вот способ сделать это, используя tidyverse.

library(tidyverse)
library(lubridate)

#Set the desired format as stamp dd-mm-yyyy
my_stamp<-stamp( "20-02-2019", orders = "dmy") 

df %>%
  #Convert Date column to Date using dmy_hm
  mutate_at(vars(Date), function(x) dmy_hm(x)) %>%
  #Create new column with the desired format for the date
  mutate(formattedDate = my_stamp(Date))


# ID                Date PM25 PM10 TEMP formattedDate
# 1  -1 2019-02-20 07:10:00   24   25 25.8    20-02-2019
# 2   2 2019-02-20 09:13:00   19   21 24.4    20-02-2019
# 3   3 2019-02-20 14:55:00   32   37 28.1    20-02-2019
# 4   4 2019-02-20 15:06:00   34   39 29.2    20-02-2019
# 5   5 2019-02-20 15:17:00   34   38 29.6    20-02-2019
# 6   6 2019-02-20 15:27:00   33   37 29.6    20-02-2019
# 7   7 2019-02-20 15:38:00   31   33 29.0    20-02-2019
# 8   8 2019-02-20 15:49:00   29   33 28.8    20-02-2019
# 9   9 2019-02-20 16:00:00   30   32 28.8    20-02-2019
# 10 10 2019-02-20 16:11:00   28   29 28.4    20-02-2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...