if (!require(plotly))   install.packages("plotly")
##  要求されたパッケージ plotly をロード中です
##  要求されたパッケージ ggplot2 をロード中です
## 
##  次のパッケージを付け加えます: 'plotly'
##  以下のオブジェクトは 'package:ggplot2' からマスクされています:
## 
##     last_plot
##  以下のオブジェクトは 'package:stats' からマスクされています:
## 
##     filter
##  以下のオブジェクトは 'package:graphics' からマスクされています:
## 
##     layout
if (!require(quantmod)) install.packages("quantmod")
##  要求されたパッケージ quantmod をロード中です
##  要求されたパッケージ xts をロード中です
##  要求されたパッケージ zoo をロード中です
## 
##  次のパッケージを付け加えます: 'zoo'
##  以下のオブジェクトは 'package:base' からマスクされています:
## 
##     as.Date, as.Date.numeric
##  要求されたパッケージ TTR をロード中です
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
d <- read.csv("C:/Users/takum/OneDrive/デスクトップ/001060467.csv")
library(DT)
datatable(d)
a <- d$日付
b <- d$PCR.検査実施人数.単日.
plot_ly(x = a, y = b, type = "scatter", mode = "markers+lines") |>
  layout(title = "PCR検査",
         xaxis = list(title = "日付"),
         yaxis = list(title = "人数"))
x <- as.POSIXct(a, format = '%Y/%m/%d') # 「/」で区切られていることに注意
y <- b

yhat <- rollmean(y, 31, na.pad = T)

plot_ly(type = "scatter", mode = "lines") |>
  add_trace(x = x, y = y,    name = "原系列") |>
  add_trace(x = x, y = yhat, name = "31日移動平均") |>
  config(locale = "ja") |> # x軸ラベルの月を日本語表示
  layout(title = "PCR検査実施人数(日別)",
         xaxis = list(title = "年"),
         yaxis = list(title = "実施人数"))