d0 <- read.csv('https://stats.dip.jp/01_ds/data/e-stat_expenditure.csv', skip = 11)

# タイムスタンプと支出金額のカラムを探しデータを抽出
j.time <- grep('時間軸.月次..コード', colnames(d0))
j.ice  <- grep('アイスクリーム',      colnames(d0))

d1 <- d0[, c(j.time, j.ice)]

# 時間コード(10桁)からPOSIX準拠時間を作成
yyyy <- substr(paste(d1[, 1]), 1, 4)
mm   <- substr(paste(d1[, 1]), 7, 8)
px <- as.POSIXlt(paste(yyyy, mm, '01 12:00:00'), format = '%Y%m%d %H:%M:%S')

d0 <- data.frame(px, date = format(px, '%Y-%m-%d'), y = d1[, 2])
d.ca     <- read.csv('https://stats.dip.jp/01_ds/data/calendar/calendar.csv')
d.amedas <- read.csv('https://stats.dip.jp/01_ds/data/amedas/amedas_Tokyo_1h.csv')
d.amedas$date <- format(as.POSIXct(d.amedas$HS), "%Y-%m-%d") # カラムdateを作成

# 暦,気象とマージ
d0 |> merge(d.ca, by = "date") |> merge(d.amedas, by = "date") -> d
head(d)
##         date                  px   y dow         name             event    md
## 1 2014-01-01 2014-01-01 12:00:00 396  水 祝日(元日) 年末年始(01-01) 01-01
## 2 2014-01-01 2014-01-01 12:00:00 396  水 祝日(元日) 年末年始(01-01) 01-01
## 3 2014-01-01 2014-01-01 12:00:00 396  水 祝日(元日) 年末年始(01-01) 01-01
## 4 2014-01-01 2014-01-01 12:00:00 396  水 祝日(元日) 年末年始(01-01) 01-01
## 5 2014-01-01 2014-01-01 12:00:00 396  水 祝日(元日) 年末年始(01-01) 01-01
## 6 2014-01-01 2014-01-01 12:00:00 396  水 祝日(元日) 年末年始(01-01) 01-01
##   gr year month day wk su mo tu we th fr sa wd.x ho bw af sp ab
## 1  6 2014     1   1  1  0  0  0  1  0  0  0    0  1  0  0  1  0
## 2  6 2014     1   1  1  0  0  0  1  0  0  0    0  1  0  0  1  0
## 3  6 2014     1   1  1  0  0  0  1  0  0  0    0  1  0  0  1  0
## 4  6 2014     1   1  1  0  0  0  1  0  0  0    0  1  0  0  1  0
## 5  6 2014     1   1  1  0  0  0  1  0  0  0    0  1  0  0  1  0
## 6  6 2014     1   1  1  0  0  0  1  0  0  0    0  1  0  0  1  0
##                    HS                  HE    hpa   hpa0 pr hm  hm1h  ws ws1h
## 1 2014-01-01 12:00:00 2014-01-01 13:00:00  998.1 1002.4  0 37 37.67 5.3 5.67
## 2 2014-01-01 14:00:00 2014-01-01 15:00:00  998.2 1002.5  0 35 35.00 4.8 4.55
## 3 2014-01-01 08:00:00 2014-01-01 09:00:00 1001.9 1006.3  0 44 45.33 3.0 3.20
## 4 2014-01-01 15:00:00 2014-01-01 16:00:00  998.8 1003.1  0 36 35.50 3.9 3.88
## 5 2014-01-01 09:00:00 2014-01-01 10:00:00 1001.7 1006.1  0 41 42.50 4.0 3.78
## 6 2014-01-01 07:00:00 2014-01-01 08:00:00 1001.8 1006.2  0 46 47.00 2.6 2.90
##   ws_max rm  rm1h   tp  tp1h  tp5h tp3d tp7d   wd.y wd_max              missing
## 1    9.3 10 60.00 14.8 14.57 11.95 6.59 6.37 南南西 南南東                     
## 2    8.9 10 58.02 14.8 15.05 14.12 6.76 6.43 南南西 南南西                     
## 3    5.5 10 60.00  9.4  8.77  7.27 6.25 6.23 南南西     南                     
## 4    6.3 10 55.98 14.3 14.53 14.60 6.85 6.47     南     南                     
## 5    9.1 10 60.00 11.3 10.45  8.17 6.34 6.26     南     南                     
## 6    5.2 10 33.00  8.0  7.50  6.41 6.18 6.20 南南西 南南西
MAIN <- 'アイスクリーム月間世帯支出'
matplot(d$px, d$y, type = 'o', pch = 16, lty =1, col = 2,
        main = MAIN, xlab = '年', ylab = '円')