R代码错误地将日期格式写入Excel

时间:2019-06-06 03:24:27

标签: r as.date

im在R中工作以分析一些数据,并且无法使我的输出文件(excel工作簿)正确以Aus格式(DD / MM / YYYY)显示日期。输入文件是带有站点和日期的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]])
}

我希望输出格式为澳大利亚日期格式(DD / MM / YYYY),但看起来应该转换为美国格式,例如2015年11月10日(2015年10月11日)变为0011-10-20 看起来好像正在读取输入日期为YYYY / MM / DD。请帮忙!

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解问题,但是要设置日期格式,可以尝试使用lubridate中的dmy(日月年)功能,或将格式指定为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"