先來認識一下R語言吧!
## [1] "hello R "
R就像一台計算機
來算一下數學,體驗看看計算機的威力
● 加減乘除
## [1] 10
## [1] 39.6
● 進階數學
## [1] 5
## [1] 2
## [1] 1
R語言中所有的東西都是一個物件(objects)
物件:名稱、值、種類、結構
● 聯結函數concatenation:c()
阿祥一學期有三次大考,考試分別考國文、英文、數學,他每次考試的總分多少?
Chinese <- c(80,50,30)
English <- c(60,100,85)
Math <- c(60,75,20)
grade <- Chinese+English+Math
grade## [1] 200 225 135
每一段程式都是由物件(objects)、運算符號(operator)和功能(function)所組成的運算式(expression)
● 物件長度:length()
## [1] 5
● 加總sum()、平均mean()、最大值max()、最小值min()、標準差sd()
## [1] 172
## [1] 34.4
## [1] 66
## [1] 1
## [1] 26.29258
資料主要可分為下列不同種結構
單值(scalar):R語言中沒有scalar
向量(vector):數值、字串、日期
陣列(array)
矩陣(matrix)
資料框(data.frame)
序列(list)
類別(factor)
列聯表(table)
R語言為一個開源性軟體,許多功能都由眾多人一起寫出來的,而各種功能都在每一個「套件」中。
故想要使用特定功能就需要下載該套件,並且讀取套件。
● 套件下載
● 讀取套件
資料可分為以下不同種類
int (interger) :整數
double:雙倍精確度數字,也稱為real或numeric屬性
Complex:複數
logical(Boolean/binary):邏輯(二元)。TRUE(T),FALSE(F)
chr(character):字串
Date:日期/時間
● 資料摘要
## year 村里代碼 縣市代碼 縣市名稱
## Min. :100 Length:54224 Length:54224 Length:54224
## 1st Qu.:101 Class :character Class :character Class :character
## Median :103 Mode :character Mode :character Mode :character
## Mean :103
## 3rd Qu.:105
## Max. :106
## 鄉鎮市區代碼 鄉鎮市區名稱 村里名稱
## Length:54224 Length:54224 Length:54224
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
## 自然增加人數 社會增加人數 總增加人數
## Min. :-111.000 Min. :-2217.000 Min. :-2221.000
## 1st Qu.: -6.000 1st Qu.: -25.000 1st Qu.: -26.000
## Median : 0.000 Median : -7.000 Median : -8.000
## Mean : 5.769 Mean : 1.563 Mean : 7.332
## 3rd Qu.: 12.000 3rd Qu.: 10.000 3rd Qu.: 15.000
## Max. : 386.000 Max. : 4807.000 Max. : 4840.000
## 遷入人口數 遷出人口數 鄉鎮區內住址變更之遷入人口數
## Min. : 0.0 Min. : 0.0 Min. : 0.00
## 1st Qu.: 35.0 1st Qu.: 42.0 1st Qu.: 15.00
## Median : 77.0 Median : 85.0 Median : 43.00
## Mean : 132.9 Mean : 131.3 Mean : 76.13
## 3rd Qu.: 181.0 3rd Qu.: 183.0 3rd Qu.: 107.00
## Max. :4805.0 Max. :2693.0 Max. :2869.00
## 鄉鎮區內住址變更之遷出人口數 粗出生率 粗死亡率
## Min. : 0.0 Min. : 0.000 Min. : 0.000
## 1st Qu.: 16.0 1st Qu.: 5.970 1st Qu.: 5.650
## Median : 46.0 Median : 7.990 Median : 7.820
## Mean : 76.1 Mean : 8.128 Mean : 8.806
## 3rd Qu.: 111.0 3rd Qu.:10.050 3rd Qu.:10.990
## Max. :2401.0 Max. :42.920 Max. :83.400
## 自然增加率 社會增加率 粗結婚率 粗離婚率
## Min. :-83.1000 Length:54224 Min. : 0.000 Min. : 0.000
## 1st Qu.: -4.2600 Class :character 1st Qu.: 4.500 1st Qu.: 1.440
## Median : 0.0000 Mode :character Median : 5.920 Median : 2.170
## Mean : -0.6784 Mean : 5.897 Mean : 2.255
## 3rd Qu.: 3.6100 3rd Qu.: 7.280 3rd Qu.: 2.950
## Max. : 42.9200 Max. :55.000 Max. :25.000
## 出生登記-性比率 老年人戶數 戶長平均年齡 戶長男性人數
## Min. : 0.00 Min. : 0.0 Min. : 0.00 Min. : 0
## 1st Qu.: 63.89 1st Qu.: 154.0 1st Qu.:53.00 1st Qu.: 271
## Median : 90.91 Median : 233.0 Median :56.00 Median : 475
## Mean : 102.72 Mean : 277.4 Mean :55.94 Mean : 622
## 3rd Qu.: 121.43 3rd Qu.: 352.0 3rd Qu.:59.00 3rd Qu.: 850
## Max. :1100.00 Max. :2327.0 Max. :78.00 Max. :8491
## 戶長女性人數 納稅單位 綜合所得總額 平均數
## Min. : 0 Min. : 8.0 Min. : 2842 Min. : 272.0
## 1st Qu.: 132 1st Qu.: 230.0 1st Qu.: 156966 1st Qu.: 660.0
## Median : 278 Median : 506.0 Median : 377396 Median : 735.0
## Mean : 439 Mean : 769.1 Mean : 705155 Mean : 798.1
## 3rd Qu.: 634 3rd Qu.: 1126.0 3rd Qu.: 925695 3rd Qu.: 849.0
## Max. :8070 Max. :11691.0 Max. :16148314 Max. :10727.0
## 中位數 第一分位數 第三分位數 標準差
## Min. : 171.0 Min. : 34.0 Min. : 357.0 Min. : 207.6
## 1st Qu.: 513.0 1st Qu.: 314.0 1st Qu.: 818.0 1st Qu.: 550.5
## Median : 557.0 Median : 341.0 Median : 912.0 Median : 676.4
## Mean : 575.2 Mean : 343.8 Mean : 967.4 Mean : 1102.6
## 3rd Qu.: 613.0 3rd Qu.: 368.0 3rd Qu.:1049.0 3rd Qu.: 922.4
## Max. :2528.0 Max. :1476.0 Max. :3782.0 Max. :271373.4
## 變異係數 各類所得金額合計 各類所得金額營利所得
## Min. : 32.16 Min. : 2842 Min. : 0
## 1st Qu.: 81.36 1st Qu.: 156966 1st Qu.: 757
## Median : 91.71 Median : 377486 Median : 2098
## Mean : 114.05 Mean : 705146 Mean : 4192
## 3rd Qu.: 109.87 3rd Qu.: 925772 3rd Qu.: 4613
## Max. :2932.69 Max. :16148823 Max. :5019613
## 各類所得金額執行業務所得 各類所得金額薪資所得 各類所得金額利息所得
## Min. : 0 Min. : 2241 Min. : 22
## 1st Qu.: 1266 1st Qu.: 125470 1st Qu.: 6250
## Median : 3869 Median : 290938 Median : 16094
## Mean : 9115 Mean : 530671 Mean : 30615
## 3rd Qu.: 10518 3rd Qu.: 731677 3rd Qu.: 40051
## Max. :455169 Max. :10181886 Max. :520362
## 各類所得金額租賃及權利金 各類所得金額財產交易所得
## Min. : 0 Min. : 0
## 1st Qu.: 1405 1st Qu.: 128
## Median : 4837 Median : 549
## Mean : 14740 Mean : 2213
## 3rd Qu.: 15225 3rd Qu.: 1982
## Max. :676886 Max. :768196
## 各類所得金額機會中獎所得 各類所得金額股利所得 各類所得金額退職所得
## Min. : 0.0 Min. : 0 Min. : 0.0
## 1st Qu.: 130.0 1st Qu.: 10887 1st Qu.: 0.0
## Median : 365.0 Median : 32868 Median : 46.0
## Mean : 754.3 Mean : 89935 Mean : 959.6
## 3rd Qu.: 1001.0 3rd Qu.: 85868 3rd Qu.: 516.0
## Max. :24776.0 Max. :11337470 Max. :221234.0
## 各類所得金額其他所得 各類所得金額稿費所得 各類所得金額申報大於歸戶
## Min. : 0 Min. : 0.0 Min. : -9082
## 1st Qu.: 1127 1st Qu.: 0.0 1st Qu.: 3361
## Median : 3086 Median : 0.0 Median : 8504
## Mean : 7266 Mean : 185.5 Mean : 14500
## 3rd Qu.: 8158 3rd Qu.: 98.0 3rd Qu.: 18272
## Max. :469341 Max. :55620.0 Max. :819815
## 薪資淨所得 按薪資淨所得計算之綜合所得 稿費收入
## Min. : 1595 Min. : 2182 Min. : 0
## 1st Qu.: 96402 1st Qu.: 127366 1st Qu.: 37
## Median : 224924 Median : 310752 Median : 228
## Mean : 429469 Mean : 604036 Mean : 987
## 3rd Qu.: 579739 3rd Qu.: 772046 3rd Qu.: 898
## Max. :9301330 Max. :15700221 Max. :83791
## [1] 54224
## [1] 49
## [1] 54224 49
## 'data.frame': 54224 obs. of 49 variables:
## $ year : int 100 100 100 100 100 100 100 100 100 100 ...
## $ 村里代碼 : chr "09007010-001" "09007010-002" "09007010-003" "09007010-004" ...
## $ 縣市代碼 : chr "9007" "9007" "9007" "9007" ...
## $ 縣市名稱 : chr "連江縣" "連江縣" "連江縣" "連江縣" ...
## $ 鄉鎮市區代碼 : chr "9007010" "9007010" "9007010" "9007010" ...
## $ 鄉鎮市區名稱 : chr "南竿鄉" "南竿鄉" "南竿鄉" "南竿鄉" ...
## $ 村里名稱 : chr "介壽村" "復興村" "福沃村" "清水村" ...
## $ 自然增加人數 : int 9 7 13 10 4 3 6 3 0 11 ...
## $ 社會增加人數 : int 35 0 -2 15 7 -4 0 0 -10 29 ...
## $ 總增加人數 : int 44 7 11 25 11 -1 6 3 -10 40 ...
## $ 遷入人口數 : int 187 71 76 70 33 20 27 10 9 69 ...
## $ 遷出人口數 : int 152 72 72 60 31 18 27 11 19 39 ...
## $ 鄉鎮區內住址變更之遷入人口數: int 20 6 3 17 7 3 6 2 2 5 ...
## $ 鄉鎮區內住址變更之遷出人口數: int 20 5 9 12 2 9 6 1 2 6 ...
## $ 粗出生率 : num 9.48 11.04 20.3 19.12 10.58 ...
## $ 粗死亡率 : num 4.99 4.01 2.71 4.41 2.12 ...
## $ 自然增加率 : num 4.49 7.02 17.59 14.71 8.47 ...
## $ 社會增加率 : chr "5.49" "-8.03" "1.35" "-14.71" ...
## $ 粗結婚率 : num 4.99 5.02 4.06 14.71 12.7 ...
## $ 粗離婚率 : num 1 0 1.35 0 2.12 0 2.02 0 0 1.11 ...
## $ 出生登記-性比率 : num 72.7 120 87.5 116.7 150 ...
## $ 老年人戶數 : int 131 88 56 26 40 32 35 12 13 55 ...
## $ 戶長平均年齡 : int 55 59 57 50 60 64 55 62 60 55 ...
## $ 戶長男性人數 : int 282 138 100 90 69 47 71 13 17 115 ...
## $ 戶長女性人數 : int 146 66 42 49 39 13 40 12 9 72 ...
## $ 納稅單位 : num 580 247 210 179 134 67 127 30 44 227 ...
## $ 綜合所得總額 : num 564204 249096 226461 168706 121210 ...
## $ 平均數 : num 973 1008 1078 942 905 ...
## $ 中位數 : num 796 802 932 751 755 682 690 580 820 750 ...
## $ 第一分位數 : num 442 455 526 426 458 467 418 465 416 440 ...
## $ 第三分位數 : num 1266 1354 1393 1244 1228 ...
## $ 標準差 : num 740 839 983 788 607 ...
## $ 變異係數 : num 76.1 83.2 91.2 83.6 67.1 ...
## $ 各類所得金額合計 : num 566026 249113 226560 169134 121460 ...
## $ 各類所得金額營利所得 : num 6560 1114 3186 3215 329 ...
## $ 各類所得金額執行業務所得 : num 2782 1091 492 348 509 ...
## $ 各類所得金額薪資所得 : num 484338 214743 181051 150106 108426 ...
## $ 各類所得金額利息所得 : num 22361 8483 7311 5953 6364 ...
## $ 各類所得金額租賃及權利金 : num 6464 940 2941 1862 212 ...
## $ 各類所得金額財產交易所得 : num 609 172 290 124 11 ...
## $ 各類所得金額機會中獎所得 : num 441 163 288 63 87 35 54 11 2 72 ...
## $ 各類所得金額股利所得 : num 33870 20248 28127 6398 4734 ...
## $ 各類所得金額退職所得 : num 655 0 42 0 0 0 0 0 0 24 ...
## $ 各類所得金額其他所得 : num 4418 700 558 644 287 ...
## $ 各類所得金額稿費所得 : num 0 2 0 0 0 0 0 0 0 0 ...
## $ 各類所得金額申報大於歸戶 : num 3530 1457 2275 423 502 ...
## $ 薪資淨所得 : num 409281 182034 153112 125860 91409 ...
## $ 按薪資淨所得計算之綜合所得 : num 489147 216387 198522 144460 104194 ...
## $ 稿費收入 : num 302 266 189 76 185 57 198 0 81 80 ...
● 傳回資料框架變數
## 村里代碼
## 1 09007010-001
## 2 09007010-002
## 3 09007010-003
## 4 09007010-004
## 5 09007010-005
## 6 09007010-006
## 村里名稱
## 1 介壽村
## 2 復興村
## 3 福沃村
## 4 清水村
## 5 仁愛村
## 6 津沙村
● 傳回向量
## [1] "9007" "9007" "9007" "9007" "9007" "9007"
## [1] 100 100 100 100 100 100 100 100 100 100
● unique()
## [1] "連江縣" "金門縣" "宜蘭縣" "桃園市" "新竹縣" "苗栗縣" "彰化縣"
## [8] "南投縣" "雲林縣" "嘉義縣" "屏東縣" "臺東縣" "花蓮縣" "澎湖縣"
## [15] "基隆市" "新竹市" "嘉義市" "臺北市" "高雄市" "新北市" "臺中市"
## [22] "臺南市"
tapply(想要計算的物件,根據那些物件計算,函數)
## 宜蘭縣 花蓮縣 金門縣 南投縣 屏東縣 苗栗縣
## -0.6114844 -3.5549273 19.2173913 -4.3681049 -5.9421004 1.9791341
## 桃園市 高雄市 基隆市 連江縣 雲林縣 新北市
## 18.5850665 2.3103172 -3.5941765 4.5294118 -4.4799115 13.8780454
## 新竹市 新竹縣 嘉義市 嘉義縣 彰化縣 臺中市
## 21.6214623 10.5315789 1.9676871 -6.0852341 5.0063061 15.6509714
## 臺北市 臺東縣 臺南市 澎湖縣
## 23.0911654 -5.1992225 1.3642085 0.5508982
● sort(), order()
decreasing = T 代表由大排列至小,原本設定(default)為由小排至大。
## 嘉義縣 屏東縣 臺東縣 雲林縣 南投縣 基隆市
## -6.0852341 -5.9421004 -5.1992225 -4.4799115 -4.3681049 -3.5941765
## 花蓮縣 宜蘭縣 澎湖縣 臺南市 嘉義市 苗栗縣
## -3.5549273 -0.6114844 0.5508982 1.3642085 1.9676871 1.9791341
## 高雄市 連江縣 彰化縣 新竹縣 新北市 臺中市
## 2.3103172 4.5294118 5.0063061 10.5315789 13.8780454 15.6509714
## 桃園市 金門縣 新竹市 臺北市
## 18.5850665 19.2173913 21.6214623 23.0911654
## [1] 16 5 20 11 4 9 2 1 22 21 15 6 8 10 17 14 12 18 7 3 13 19