Формат as.Date
должен быть
as.Date(x, format="%d-%b-%y") #note the `y` in the OP's code
В дополнение к этому существует только присвоение 5-го столбца столбцу Date
, но он не возвращает x
, то есть data.frame
lapply(fileList,function(x) {
x[,5] <- as.Date(x[,5], format="%d-%b-%y");
x})
Это можно сделать проще с transform
(где мы меняем несколько столбцов)
lapply(fileList, transform, Date = as.Date(Date, format = "%d-%b-%y"),
Amount = as.numeric(as.character(Amount))))
Кроме того, неясно, является ли 'Amount' классом factor
или нет. Если это просто character
класс, удалите as.character
С tidyverse
это можно сделать, используя map
(от purrr
) и mutate
(от dplyr
)
library(tidyverse)
map(fileList, ~ .x %>%
mutate(Date = dmy(Date),
Amount = as.numeric(as.character(Amount))))