アイスクリーム統計学 第1章 散布図と相関をR(R言語)で (書籍なら、タイトルは『統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)』

Rコード

# アイスクリーム統計学 ch01



# 別のチェーン店の8月の客数データ
日付_vec <- c(1:14) # c()の中に1:14と書いた方が安定する(と思う)
最高気温_vec <- c(29, 30, 29, 32, 33, 32, 34, 27, 28, 32, 34, 32, 30, 28)
客数_vec <- c(312, 348, 284, 369, 420, 536, 652,
            275, 294, 368, 451, 405, 458, 422)

df1 <- data.frame(日付_df = 日付_vec, 最高気温_df = 最高気温_vec, 客数_df = 客数_vec)
df1


日付 <- df1$日付_df
日付

最高気温 <- df1$最高気温_df
最高気温

客数 <- df1$客数_df
客数




# 折れ線グラフ 日付と客数
par(family = "Osaka") # 文字化けするなら。
plot(日付, 客数,
    type = "b", pch = 18, col = "blue", cex = 3,
    xlim = c(1, 14), xaxt = "n", ylim = c(0, 700), main = "A店における客数の変化")
    axis(side = 1, at = c(1:14))
# 日付の目盛りを調整するために、xaxtとaxis()を使用




# 散布図
plot(最高気温, 客数,
    pch = 18, col = "blue", cex = 3,
    xlim = c(25, 35), ylim = c(200, 700),
    xlab = "気温", main = "A店における気温と客数の関係")




# 店舗別8月の平均客数データ(12店舗)
店舗_vec <- c(1:12)
駅からの距離_vec <- c(10, 1200, 500, 50, 740, 30, 10, 360, 150, 930, 620, 65) # 単位 : m
平均客数_vec <- c(795, 213, 465, 694, 403, 782, 769, 561, 692, 361, 385, 723)

df2 <- data.frame(店舗_df = 店舗_vec, 駅からの距離_df = 駅からの距離_vec, 平均客数_df = 平均客数_vec)
df2


店舗 <- df2$店舗_df
店舗

駅からの距離 <- df2$駅からの距離_df
駅からの距離

平均客数 <- df2$平均客数_df
平均客数




# 散布図
plot(駅からの距離, 平均客数,
    pch = 18, col = "blue", cex = 3,
    xlim = c(0, 1500), ylim = c(200, 1000),
    xlab = "駅からの距離(m)", main = "駅からの距離による平均客数",
    sub = "駅からの距離250mとしてグラフをたどると、客数は600人くらいだと推測できる")
    axis(side = 1, at = 250)
    #axis(sid = 2, at = 600)
    arrows(250, 0, 250, 600, col = "red")
    arrows(250, 600, 0, 600, col = "red")

R Console

> # アイスクリーム統計学 ch01
> 
> 
> 
> # 別のチェーン店の8月の客数データ
> 日付_vec <- c(1:14) # c()の中に1:14と書いた方が安定する(と思う)
> 最高気温_vec <- c(29, 30, 29, 32, 33, 32, 34, 27, 28, 32, 34, 32, 30, 28)
> 客数_vec <- c(312, 348, 284, 369, 420, 536, 652,
+             275, 294, 368, 451, 405, 458, 422)
> 
> df1 <- data.frame(日付_df = 日付_vec, 最高気温_df = 最高気温_vec, 客数_df = 客数_vec)
> df1
   日付_df 最高気温_df 客数_df
1        1          29     312
2        2          30     348
3        3          29     284
4        4          32     369
5        5          33     420
6        6          32     536
7        7          34     652
8        8          27     275
9        9          28     294
10      10          32     368
11      11          34     451
12      12          32     405
13      13          30     458
14      14          28     422
> 
> 
> 日付 <- df1$日付_df
> 日付
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14
> 
> 最高気温 <- df1$最高気温_df
> 最高気温
 [1] 29 30 29 32 33 32 34 27 28 32 34 32 30 28
> 
> 客数 <- df1$客数_df
> 客数
 [1] 312 348 284 369 420 536 652 275 294 368 451 405 458 422
> 
> 
> 
> 
> # 折れ線グラフ 日付と客数
> par(family = "Osaka") # 文字化けするなら。
> plot(日付, 客数,
+     type = "b", pch = 18, col = "blue", cex = 3,
+     xlim = c(1, 14), xaxt = "n", ylim = c(0, 700), main = "A店における客数の変化")
>     axis(side = 1, at = c(1:14))
> # 日付の目盛りを調整するために、xaxtとaxis()を使用
> 
> 
> 
> 
> # 散布図
> plot(最高気温, 客数,
+     pch = 18, col = "blue", cex = 3,
+     xlim = c(25, 35), ylim = c(200, 700),
+     xlab = "気温", main = "A店における気温と客数の関係")
> 
> 
> 
> 
> # 店舗別8月の平均客数データ(12店舗)
> 店舗_vec <- c(1:12)
> 駅からの距離_vec <- c(10, 1200, 500, 50, 740, 30, 10, 360, 150, 930, 620, 65) # 単位 : m
> 平均客数_vec <- c(795, 213, 465, 694, 403, 782, 769, 561, 692, 361, 385, 723)
> 
> df2 <- data.frame(店舗_df = 店舗_vec, 駅からの距離_df = 駅からの距離_vec, 平均客数_df = 平均客数_vec)
> df2
   店舗_df 駅からの距離_df 平均客数_df
1        1              10         795
2        2            1200         213
3        3             500         465
4        4              50         694
5        5             740         403
6        6              30         782
7        7              10         769
8        8             360         561
9        9             150         692
10      10             930         361
11      11             620         385
12      12              65         723
> 
> 
> 店舗 <- df2$店舗_df
> 店舗
 [1]  1  2  3  4  5  6  7  8  9 10 11 12
> 
> 駅からの距離 <- df2$駅からの距離_df
> 駅からの距離
 [1]   10 1200  500   50  740   30   10  360  150  930  620   65
> 
> 平均客数 <- df2$平均客数_df
> 平均客数
 [1] 795 213 465 694 403 782 769 561 692 361 385 723
> 
> 
> 
> 
> # 散布図
> plot(駅からの距離, 平均客数,
+     pch = 18, col = "blue", cex = 3,
+     xlim = c(0, 1500), ylim = c(200, 1000),
+     xlab = "駅からの距離(m)", main = "駅からの距離による平均客数",
+     sub = "駅からの距離250mとしてグラフをたどると、客数は600人くらいだと推測できる")
>     axis(side = 1, at = 250)
>     #axis(sid = 2, at = 600)
>     arrows(250, 0, 250, 600, col = "red")
>     arrows(250, 600, 0, 600, col = "red")

折れ線グラフや散布図のスクリーンショット

f:id:my_notes:20170627152847p:plain

f:id:my_notes:20170627152905p:plain

f:id:my_notes:20170627152922p:plain

参考Webサイト

アイスクリーム統計学にようこそ!

書籍

統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)

統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)