我是一名学生,并获得了一项研究Giovanni(NASA)气候数据的项目。我们的代码已经提供,我们只能找到自己的方式'因此,其他答案似乎与我给出的代码风格无关。除此之外,我是R的初学者,因此更改代码非常困难。
基本上,我尝试使用以下代码创建时间序列图:
## Function for loading Giovanni time series data
load_giovanni_time <- function(path){
file_data <- read.csv(path,
skip=6,
col.names = c("Date",
"Temperature",
"NA",
"Site",
"Bleached"))
file_data$Date <- parse_date_time(file_data$Date, orders="ymdHMS")
return(file_data)
}
## Creat a list of files
file.list <- list.files("./Data/courseworktimeseries/")
file.list <- as.list(paste0("./Data/courseworktimeseries/", file.list))
# for(i in file.list){
# load_giovanni_time(i)
# }
#Load all the files
all_data <- lapply(X=file.list,
FUN=load_giovanni_time)
all_data <- as.data.frame(do.call(rbind, all_data))
## Inspect the data with a plot
p <- qplot(data=all_data,
x=Date,
y=Temperature,
colour=Site,
linetype=Bleached,
geom="line")
print(p)
现在第一个问题是,当数据合并到一个数据集中时,它会更改所有日期(开始日期范围是2002-2015,它会更改为2002-2030),这显然会破坏情节。我发现我可以通过删除此代码来停止更改日期:
file_data$Date <- parse_date_time(file_data$Date, orders="ymdHMS")
但是,当删除它时,我收到以下错误:
geom_path:每组只包含一个观察。你需要调整群体审美吗?
有没有人可以帮助我绕过这个而不用太多编辑代码?我觉得这个代码行的问题是错误地将日期格式化或者其他东西所以我认为它只是一个小问题。我只是一个初学者,必须在1-2天内实施代码。
由于
答案 0 :(得分:0)
对于任何遇到此问题的人......我找到了解决方案。
file_data$Date <- parse_date_time(file_data$Date, orders="ymdHMS")
这行代码按顺序从我的CSV中读取日期信息。在excel中,我的日期是相反的,所以如果它说2015年12月30日(2015年12月30日),R会将其读作2030-12-20,搞砸数据。
在Excel中选择所有日期,按CTRL + 1,然后更改格式以匹配日期R是&#39;解析&#39;。
全部完成=)