d <- read.csv('C:/Users/naruk/OneDrive/ドキュメント/data.csv')
library(DT)
library(ggplot2)
library(tidyr)
library(dplyr)
##
## 次のパッケージを付け加えます: 'dplyr'
## 以下のオブジェクトは 'package:stats' からマスクされています:
##
## filter, lag
## 以下のオブジェクトは 'package:base' からマスクされています:
##
## intersect, setdiff, setequal, union
d <- data.frame(
month = c(6.1, 7.2, 10.1, 15.4, 20.2, 22.4, 25.4, 27.1, 24.4, 18.7, 11.4, 8.9),
proceeds = c(417, 397, 543, 718, 921, 1108, 1292, 1387, 1079, 785, 574, 458)
)
fit <- lm(proceeds ~ poly(month, 2, raw = TRUE), data = d)
library(sjPlot)
## Learn more about sjPlot with 'browseVignettes("sjPlot")'.
tab_model(fit)
|
|
proceeds
|
|
Predictors
|
Estimates
|
CI
|
p
|
|
(Intercept)
|
351.65
|
135.13 – 568.18
|
0.005
|
|
month [1st degree]
|
2.01
|
-28.47 – 32.49
|
0.885
|
|
month [2nd degree]
|
1.31
|
0.39 – 2.22
|
0.010
|
|
Observations
|
12
|
|
R2 / R2 adjusted
|
0.982 / 0.978
|
COL <- c(rgb(255, 0, 0, 105, max = 255),
rgb( 0, 0, 255, 105, max = 255),
rgb( 0, 155, 0, 105, max = 255),
rgb(140, 140, 140, 105, max = 255),
rgb(180, 180, 180, 105, max = 255))
month.p <- seq(0, 1400, 30)
conf <- predict(fit, newdata = data.frame(month = month.p),
interval = 'confidence')
pred <- predict(fit, newdata = data.frame(month = month.p),
interval = 'prediction')
matplot (x = d$month, y = d$proceeds,
type = 'p', pch = 16, col = COL[1],
main = 'チョコレート',
xlab = '気温[℃]', ylab = '売上[円]')
gray.area <- function(x, lwr, upr, col)
{
polygon(c(x, rev(x)), c(lwr, rev(upr)), col = col, border = NA)
}
gray.area(month.p, conf[, 'lwr'], conf[, 'upr'], col = COL[4])
gray.area(month.p, pred[, 'lwr'], pred[, 'upr'], col = COL[5])
matlines(x = month.p, y = conf[, 'fit'], col = COL[2], lwd = 3)
legend('topright',
pch = c(16, NA, NA, NA), col = COL[-3],
lty = c(NA, 1, NA, NA), lwd = c(NA, 3, NA, NA),
fill = c(NA, NA, COL[4], COL[5]), border = F,
legend = c('電力需要 [gw]', '予測値', '95%信頼区間', '95%予測区間'))
