如何在R中创建时间序列?

3

我想在R中创建时间序列,但遇到了问题。我有从30.07到02.09的每小时风速数据。x轴应该是日期和时间,y轴是风速。我尝试了这个脚本,但不幸的是它没有起作用。请问有谁可以帮帮我吗?这是我的代码:

options(stringsAsFactors = FALSE)



 input1 <- "C:\\Users\\wind_speed.csv"

    wind_speed <- read.csv(input1, sep=";")

    dput(wind_speed)

    library(ggplot2)

    wind_speed$dateasdate <-gsub("\\.", "-", wind_speed$date)

    wind_speed$dateasdate <- dmy(wind_speed$dateasdate)

    wind_speed$date = as.Date(wind_speed$date, format = "%d.%m%.%y")

    time <- strptime(wind_speed$time, format = "%H:%M:%S")

    wind_speed$x <- paste(wind_speed$date,wind_speed$time)

    timee2<- strptime(wind_speed$x, format= "%d.%m.%y %H:%M")

    p <-ggplot(wind_speed, aes(x=x, y=speed)) + geom_point(stat="identity") + 
      geom_line(linetype="dashed") 

print(p)

时间序列应该看起来像这张图片,但是x轴上需要有日期和时间

我的数据看起来像这样

这是我的数据样本:

head(wind_speed)
        date     time speed
1 27.07.2018 01:00:00   1.3
2 27.07.2018 02:00:00   0.8
3 27.07.2018 03:00:00   1.2
4 27.07.2018 04:00:00   0.6
5 27.07.2018 05:00:00   0.8
6 27.07.2018 06:00:00   1.8

请提供一些输入数据的示例 - Vivek Kalyanarangan
我编辑了我的帖子,现在你可以看到我的数据样本。 - User94
如果我们想要处理数据,就必须将其输入。请直接将数据粘贴到问题中,并格式化为代码。 - Vivek Kalyanarangan
对不起,现在我直接将我的数据粘贴到我的脚本中。 - User94
1个回答

1
使用 -
library(xts)
a <- xts(df$speed, order.by=as.POSIXct(paste(df$date,df$time), format="%d.%m.%Y %H:%M:%S"))
plot.xts(a)

enter image description here


不幸的是,它没有起作用。它显示错误:'order.by' 不能包含 'NA'、'NaN' 或 'Inf'。我查看了我的数据,没有任何“NA”。 - User94
@User94 这很奇怪。对于这个样本来说,运行得很好。请再次检查NA的问题。 - Vivek Kalyanarangan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接