R код неправильно пишет формат даты, чтобы преуспеть - PullRequest
0 голосов
/ 06 июня 2019

Я работаю в R, чтобы проанализировать некоторые данные, и у меня возникли проблемы с получением выходного файла (книга Excel) для правильного отображения даты в формате Aus (ДД / ММ / ГГГГ).входной файл CSV с сайтами и датами.

Я проверил даты Excel во входном файле в австралийском формате с * (адаптируется к формату местного времени) и без *.Я даже пытался сделать формат excel в США датой / временем, думая, что это должно по крайней мере дать правильный вывод, даже если он в некотором порядке.

#Coerce variables into useful types
Treated_LORs$DATE <- as.Date(Treated_LORs$DATE)
Treated_LORs[, 18:44] <- sapply(Treated_LORs[, 18:44], function(x)     as.numeric(x))

#Remove empty rows if any
Treated_LORs <- Treated_LORs[apply(Treated_LORs, 1, function(x) any(!is.na(x))),]

#Create a list of split data frames, split by site and sampling year
split_Treated_LORs <- split(Treated_LORs, f=list(Treated_LORs$SITENAME, Treated_LORs$Sampling.Year), drop=TRUE)

#Run the [calculate_Daily_Average_RA_PAF_Categories_Option2] function     from the sourced R script above
for(i in 1:length(split_Treated_LORs)){
  calculate_Daily_Average_RA_PAF_Categories_Option2(split_Treated_LORs[[i]])
}

Я ожидаю, что вывод будет в Австралииформат даты (ДД / ММ / ГГГГ), но, похоже, он переключен на формат США, например, 11/10/2015 (11 октября 2015 г.) становится 0011-10-20, что выглядит так, будто он считывает введенную дату как ГГГГ / ММ /DD.Пожалуйста, помогите!

1 Ответ

0 голосов
/ 06 июня 2019

Я не уверен, что понимаю вопрос, но для форматирования дат вы можете попробовать функцию dmy (день-месяц-год) в lubridate или указать формат as.Date

library(lubridate)

lubridate::dmy("11/10/2015")

as.Date("11/10/2015", format = "%d/%m/%Y")

Посмотрите ?strptime, чтобы получить информацию о других форматах.

Вы также можете вывести дату в определенном формате

x <- as.Date('2011-10-11')
format(x, format = '%d/%m/%Y')
[1] "11/10/2011"
...