Я пытаюсь изменить некоторые столбцы на сегодняшний день, но у меня возникает ошибка
ошибка
> data %>%
+ group_by(data$Metric) %>%
+ mutate(data$ReportDate=as.Date(data$ReportDate, format = "%d.%m.%Y"))
Error: unexpected '=' in:
" group_by(data$Metric) %>%
mutate(data$ReportDate = "
сценарий
data = read.table("/home/mylaptop/Downloads/ipynb_checkpoints/hello.csv", header=TRUE)
> lapply(data, class)
$ReportDate
[1] "factor"
$Value
[1] "integer"
$Metric
[1] "factor"
$dow
[1] "factor"
$week
[1] "integer"
$doy
[1] "integer"
$weekStart
[1] "factor"
$Rescaled
[1] "numeric"
преобразовать в дату
data %>%
group_by(data$Metric) %>%
mutate(data$ReportDate=as.Date(data$ReportDate, format = "%d.%m.%Y"))
ожидаемый результат для столбца даты
> lapply(data, class)
$ReportDate
[1] "Date"
$Metric
[1] "factor"
$Value
[1] "numeric"
$dow
[1] "ordered" "factor"
$week
[1] "numeric"
$weeks
[1] "factor"
$weekStart
[1] "Date"
Я следил за этот учебник, но хотел взять данные из файла csv
Нет необходимости использовать data$... внутри трубы %>%
В следующий раз, пожалуйста, поделитесь образцом ваших данных с помощью dput() (не str или head или изображения / снимка экрана), чтобы другие могли помочь. Подробнее здесь stackoverflow.com/questions/5963269/…





Альтернативой использования пакета lubridate может быть:
library(lubridate)
data %>%
group_by(Metric) %>%
mutate(ReportDate = ymd(ReportDate)
Или проще:
library(lubridate)
data$ReportDate <- ymd(data$ReportDate)
data %>% group_by(Metric) %>% mutate(ReportDate = as.Date(ReportDate, format = "%Y-%m-%d"))