Đọc dữ liệu

# Đọc file CSV
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# 1. Hiển thị toàn bộ dữ liệu
print(bw)
##      id low age lwt race smoke ptl ht ui ftv  bwt
## 1    85   0  19 182    2     0   0  0  1   0 2523
## 2    86   0  33 155    3     0   0  0  0   3 2551
## 3    87   0  20 105    1     1   0  0  0   1 2557
## 4    88   0  21 108    1     1   0  0  1   2 2594
## 5    89   0  18 107    1     1   0  0  1   0 2600
## 6    91   0  21 124    3     0   0  0  0   0 2622
## 7    92   0  22 118    1     0   0  0  0   1 2637
## 8    93   0  17 103    3     0   0  0  0   1 2637
## 9    94   0  29 123    1     1   0  0  0   1 2663
## 10   95   0  26 113    1     1   0  0  0   0 2665
## 11   96   0  19  95    3     0   0  0  0   0 2722
## 12   97   0  19 150    3     0   0  0  0   1 2733
## 13   98   0  22  95    3     0   0  1  0   0 2751
## 14   99   0  30 107    3     0   1  0  1   2 2750
## 15  100   0  18 100    1     1   0  0  0   0 2769
## 16  101   0  18 100    1     1   0  0  0   0 2769
## 17  102   0  15  98    2     0   0  0  0   0 2778
## 18  103   0  25 118    1     1   0  0  0   3 2782
## 19  104   0  20 120    3     0   0  0  1   0 2807
## 20  105   0  28 120    1     1   0  0  0   1 2821
## 21  106   0  32 121    3     0   0  0  0   2 2835
## 22  107   0  31 100    1     0   0  0  1   3 2835
## 23  108   0  36 202    1     0   0  0  0   1 2836
## 24  109   0  28 120    3     0   0  0  0   0 2863
## 25  111   0  25 120    3     0   0  0  1   2 2877
## 26  112   0  28 167    1     0   0  0  0   0 2877
## 27  113   0  17 122    1     1   0  0  0   0 2906
## 28  114   0  29 150    1     0   0  0  0   2 2920
## 29  115   0  26 168    2     1   0  0  0   0 2920
## 30  116   0  17 113    2     0   0  0  0   1 2920
## 31  117   0  17 113    2     0   0  0  0   1 2920
## 32  118   0  24  90    1     1   1  0  0   1 2948
## 33  119   0  35 121    2     1   1  0  0   1 2948
## 34  120   0  25 155    1     0   0  0  0   1 2977
## 35  121   0  25 125    2     0   0  0  0   0 2977
## 36  123   0  29 140    1     1   0  0  0   2 2977
## 37  124   0  19 138    1     1   0  0  0   2 2977
## 38  125   0  27 124    1     1   0  0  0   0 2922
## 39  126   0  31 215    1     1   0  0  0   2 3005
## 40  127   0  33 109    1     1   0  0  0   1 3033
## 41  128   0  21 185    2     1   0  0  0   2 3042
## 42  129   0  19 189    1     0   0  0  0   2 3062
## 43  130   0  23 130    2     0   0  0  0   1 3062
## 44  131   0  21 160    1     0   0  0  0   0 3062
## 45  132   0  18  90    1     1   0  0  1   0 3062
## 46  133   0  18  90    1     1   0  0  1   0 3062
## 47  134   0  32 132    1     0   0  0  0   4 3080
## 48  135   0  19 132    3     0   0  0  0   0 3090
## 49  136   0  24 115    1     0   0  0  0   2 3090
## 50  137   0  22  85    3     1   0  0  0   0 3090
## 51  138   0  22 120    1     0   0  1  0   1 3100
## 52  139   0  23 128    3     0   0  0  0   0 3104
## 53  140   0  22 130    1     1   0  0  0   0 3132
## 54  141   0  30  95    1     1   0  0  0   2 3147
## 55  142   0  19 115    3     0   0  0  0   0 3175
## 56  143   0  16 110    3     0   0  0  0   0 3175
## 57  144   0  21 110    3     1   0  0  1   0 3203
## 58  145   0  30 153    3     0   0  0  0   0 3203
## 59  146   0  20 103    3     0   0  0  0   0 3203
## 60  147   0  17 119    3     0   0  0  0   0 3225
## 61  148   0  17 119    3     0   0  0  0   0 3225
## 62  149   0  23 119    3     0   0  0  0   2 3232
## 63  150   0  24 110    3     0   0  0  0   0 3232
## 64  151   0  28 140    1     0   0  0  0   0 3234
## 65  154   0  26 133    3     1   2  0  0   0 3260
## 66  155   0  20 169    3     0   1  0  1   1 3274
## 67  156   0  24 115    3     0   0  0  0   2 3274
## 68  159   0  28 250    3     1   0  0  0   6 3303
## 69  160   0  20 141    1     0   2  0  1   1 3317
## 70  161   0  22 158    2     0   1  0  0   2 3317
## 71  162   0  22 112    1     1   2  0  0   0 3317
## 72  163   0  31 150    3     1   0  0  0   2 3321
## 73  164   0  23 115    3     1   0  0  0   1 3331
## 74  166   0  16 112    2     0   0  0  0   0 3374
## 75  167   0  16 135    1     1   0  0  0   0 3374
## 76  168   0  18 229    2     0   0  0  0   0 3402
## 77  169   0  25 140    1     0   0  0  0   1 3416
## 78  170   0  32 134    1     1   1  0  0   4 3430
## 79  172   0  20 121    2     1   0  0  0   0 3444
## 80  173   0  23 190    1     0   0  0  0   0 3459
## 81  174   0  22 131    1     0   0  0  0   1 3460
## 82  175   0  32 170    1     0   0  0  0   0 3473
## 83  176   0  30 110    3     0   0  0  0   0 3544
## 84  177   0  20 127    3     0   0  0  0   0 3487
## 85  179   0  23 123    3     0   0  0  0   0 3544
## 86  180   0  17 120    3     1   0  0  0   0 3572
## 87  181   0  19 105    3     0   0  0  0   0 3572
## 88  182   0  23 130    1     0   0  0  0   0 3586
## 89  183   0  36 175    1     0   0  0  0   0 3600
## 90  184   0  22 125    1     0   0  0  0   1 3614
## 91  185   0  24 133    1     0   0  0  0   0 3614
## 92  186   0  21 134    3     0   0  0  0   2 3629
## 93  187   0  19 235    1     1   0  1  0   0 3629
## 94  188   0  25  95    1     1   3  0  1   0 3637
## 95  189   0  16 135    1     1   0  0  0   0 3643
## 96  190   0  29 135    1     0   0  0  0   1 3651
## 97  191   0  29 154    1     0   0  0  0   1 3651
## 98  192   0  19 147    1     1   0  0  0   0 3651
## 99  193   0  19 147    1     1   0  0  0   0 3651
## 100 195   0  30 137    1     0   0  0  0   1 3699
## 101 196   0  24 110    1     0   0  0  0   1 3728
## 102 197   0  19 184    1     1   0  1  0   0 3756
## 103 199   0  24 110    3     0   1  0  0   0 3770
## 104 200   0  23 110    1     0   0  0  0   1 3770
## 105 201   0  20 120    3     0   0  0  0   0 3770
## 106 202   0  25 241    2     0   0  1  0   0 3790
## 107 203   0  30 112    1     0   0  0  0   1 3799
## 108 204   0  22 169    1     0   0  0  0   0 3827
## 109 205   0  18 120    1     1   0  0  0   2 3856
## 110 206   0  16 170    2     0   0  0  0   4 3860
## 111 207   0  32 186    1     0   0  0  0   2 3860
## 112 208   0  18 120    3     0   0  0  0   1 3884
## 113 209   0  29 130    1     1   0  0  0   2 3884
## 114 210   0  33 117    1     0   0  0  1   1 3912
## 115 211   0  20 170    1     1   0  0  0   0 3940
## 116 212   0  28 134    3     0   0  0  0   1 3941
## 117 213   0  14 135    1     0   0  0  0   0 3941
## 118 214   0  28 130    3     0   0  0  0   0 3969
## 119 215   0  25 120    1     0   0  0  0   2 3983
## 120 216   0  16  95    3     0   0  0  0   1 3997
## 121 217   0  20 158    1     0   0  0  0   1 3997
## 122 218   0  26 160    3     0   0  0  0   0 4054
## 123 219   0  21 115    1     0   0  0  0   1 4054
## 124 220   0  22 129    1     0   0  0  0   0 4111
## 125 221   0  25 130    1     0   0  0  0   2 4153
## 126 222   0  31 120    1     0   0  0  0   2 4167
## 127 223   0  35 170    1     0   1  0  0   1 4174
## 128 224   0  19 120    1     1   0  0  0   0 4238
## 129 225   0  24 116    1     0   0  0  0   1 4593
## 130 226   0  45 123    1     0   0  0  0   1 4990
## 131   4   1  28 120    3     1   1  0  1   0  709
## 132  10   1  29 130    1     0   0  0  1   2 1021
## 133  11   1  34 187    2     1   0  1  0   0 1135
## 134  13   1  25 105    3     0   1  1  0   0 1330
## 135  15   1  25  85    3     0   0  0  1   0 1474
## 136  16   1  27 150    3     0   0  0  0   0 1588
## 137  17   1  23  97    3     0   0  0  1   1 1588
## 138  18   1  24 128    2     0   1  0  0   1 1701
## 139  19   1  24 132    3     0   0  1  0   0 1729
## 140  20   1  21 165    1     1   0  1  0   1 1790
## 141  22   1  32 105    1     1   0  0  0   0 1818
## 142  23   1  19  91    1     1   2  0  1   0 1885
## 143  24   1  25 115    3     0   0  0  0   0 1893
## 144  25   1  16 130    3     0   0  0  0   1 1899
## 145  26   1  25  92    1     1   0  0  0   0 1928
## 146  27   1  20 150    1     1   0  0  0   2 1928
## 147  28   1  21 200    2     0   0  0  1   2 1928
## 148  29   1  24 155    1     1   1  0  0   0 1936
## 149  30   1  21 103    3     0   0  0  0   0 1970
## 150  31   1  20 125    3     0   0  0  1   0 2055
## 151  32   1  25  89    3     0   2  0  0   1 2055
## 152  33   1  19 102    1     0   0  0  0   2 2082
## 153  34   1  19 112    1     1   0  0  1   0 2084
## 154  35   1  26 117    1     1   1  0  0   0 2084
## 155  36   1  24 138    1     0   0  0  0   0 2100
## 156  37   1  17 130    3     1   1  0  1   0 2125
## 157  40   1  20 120    2     1   0  0  0   3 2126
## 158  42   1  22 130    1     1   1  0  1   1 2187
## 159  43   1  27 130    2     0   0  0  1   0 2187
## 160  44   1  20  80    3     1   0  0  1   0 2211
## 161  45   1  17 110    1     1   0  0  0   0 2225
## 162  46   1  25 105    3     0   1  0  0   1 2240
## 163  47   1  20 109    3     0   0  0  0   0 2240
## 164  49   1  18 148    3     0   0  0  0   0 2282
## 165  50   1  18 110    2     1   1  0  0   0 2296
## 166  51   1  20 121    1     1   1  0  1   0 2296
## 167  52   1  21 100    3     0   1  0  0   4 2301
## 168  54   1  26  96    3     0   0  0  0   0 2325
## 169  56   1  31 102    1     1   1  0  0   1 2353
## 170  57   1  15 110    1     0   0  0  0   0 2353
## 171  59   1  23 187    2     1   0  0  0   1 2367
## 172  60   1  20 122    2     1   0  0  0   0 2381
## 173  61   1  24 105    2     1   0  0  0   0 2381
## 174  62   1  15 115    3     0   0  0  1   0 2381
## 175  63   1  23 120    3     0   0  0  0   0 2410
## 176  65   1  30 142    1     1   1  0  0   0 2410
## 177  67   1  22 130    1     1   0  0  0   1 2410
## 178  68   1  17 120    1     1   0  0  0   3 2414
## 179  69   1  23 110    1     1   1  0  0   0 2424
## 180  71   1  17 120    2     0   0  0  0   2 2438
## 181  75   1  26 154    3     0   1  1  0   1 2442
## 182  76   1  20 105    3     0   0  0  0   3 2450
## 183  77   1  26 190    1     1   0  0  0   0 2466
## 184  78   1  14 101    3     1   1  0  0   0 2466
## 185  79   1  28  95    1     1   0  0  0   2 2466
## 186  81   1  14 100    3     0   0  0  0   2 2495
## 187  82   1  23  94    3     1   0  0  0   0 2495
## 188  83   1  17 142    2     0   0  1  0   0 2495
## 189  84   1  21 130    1     1   0  1  0   3 2495
# 2. Hiển thị vài dòng đầu tiên của dữ liệu (mặc định là 6 dòng)
head(bw)
##   id low age lwt race smoke ptl ht ui ftv  bwt
## 1 85   0  19 182    2     0   0  0  1   0 2523
## 2 86   0  33 155    3     0   0  0  0   3 2551
## 3 87   0  20 105    1     1   0  0  0   1 2557
## 4 88   0  21 108    1     1   0  0  1   2 2594
## 5 89   0  18 107    1     1   0  0  1   0 2600
## 6 91   0  21 124    3     0   0  0  0   0 2622
# 3. Hiển thị vài dòng cuối cùng của dữ liệu
tail(bw)
##     id low age lwt race smoke ptl ht ui ftv  bwt
## 184 78   1  14 101    3     1   1  0  0   0 2466
## 185 79   1  28  95    1     1   0  0  0   2 2466
## 186 81   1  14 100    3     0   0  0  0   2 2495
## 187 82   1  23  94    3     1   0  0  0   0 2495
## 188 83   1  17 142    2     0   0  1  0   0 2495
## 189 84   1  21 130    1     1   0  1  0   3 2495
# 4. Xem cấu trúc của dữ liệu (kiểu dữ liệu và thông tin các cột)
str(bw)
## 'data.frame':    189 obs. of  11 variables:
##  $ id   : int  85 86 87 88 89 91 92 93 94 95 ...
##  $ low  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ age  : int  19 33 20 21 18 21 22 17 29 26 ...
##  $ lwt  : int  182 155 105 108 107 124 118 103 123 113 ...
##  $ race : int  2 3 1 1 1 3 1 3 1 1 ...
##  $ smoke: int  0 0 1 1 1 0 0 0 1 1 ...
##  $ ptl  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ ht   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ ui   : int  1 0 0 1 1 0 0 0 0 0 ...
##  $ ftv  : int  0 3 1 2 0 0 1 1 1 0 ...
##  $ bwt  : int  2523 2551 2557 2594 2600 2622 2637 2637 2663 2665 ...
# 5. Xem tóm tắt thống kê của dữ liệu
summary(bw)
##        id             low              age             lwt       
##  Min.   :  4.0   Min.   :0.0000   Min.   :14.00   Min.   : 80.0  
##  1st Qu.: 68.0   1st Qu.:0.0000   1st Qu.:19.00   1st Qu.:110.0  
##  Median :123.0   Median :0.0000   Median :23.00   Median :121.0  
##  Mean   :121.1   Mean   :0.3122   Mean   :23.24   Mean   :129.8  
##  3rd Qu.:176.0   3rd Qu.:1.0000   3rd Qu.:26.00   3rd Qu.:140.0  
##  Max.   :226.0   Max.   :1.0000   Max.   :45.00   Max.   :250.0  
##       race           smoke             ptl               ht         
##  Min.   :1.000   Min.   :0.0000   Min.   :0.0000   Min.   :0.00000  
##  1st Qu.:1.000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.00000  
##  Median :1.000   Median :0.0000   Median :0.0000   Median :0.00000  
##  Mean   :1.847   Mean   :0.3915   Mean   :0.1958   Mean   :0.06349  
##  3rd Qu.:3.000   3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:0.00000  
##  Max.   :3.000   Max.   :1.0000   Max.   :3.0000   Max.   :1.00000  
##        ui              ftv              bwt      
##  Min.   :0.0000   Min.   :0.0000   Min.   : 709  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:2414  
##  Median :0.0000   Median :0.0000   Median :2977  
##  Mean   :0.1481   Mean   :0.7937   Mean   :2945  
##  3rd Qu.:0.0000   3rd Qu.:1.0000   3rd Qu.:3487  
##  Max.   :1.0000   Max.   :6.0000   Max.   :4990
# 6. Xem dữ liệu trong giao diện bảng (chỉ hoạt động tốt trong RStudio)
View(bw)

# 7. Hiển thị tên các cột
colnames(bw)
##  [1] "id"    "low"   "age"   "lwt"   "race"  "smoke" "ptl"   "ht"    "ui"   
## [10] "ftv"   "bwt"
# 8. Kiểm tra số dòng và số cột
dim(bw)
## [1] 189  11
#4.1 Có bao nhiêu biến số (variable) và quan sát (observation)

# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Số biến số
ncol(bw)
## [1] 11
# Số quan sát
nrow(bw)
## [1] 189
# Xem cấu trúc dữ liệu
str(bw)
## 'data.frame':    189 obs. of  11 variables:
##  $ id   : int  85 86 87 88 89 91 92 93 94 95 ...
##  $ low  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ age  : int  19 33 20 21 18 21 22 17 29 26 ...
##  $ lwt  : int  182 155 105 108 107 124 118 103 123 113 ...
##  $ race : int  2 3 1 1 1 3 1 3 1 1 ...
##  $ smoke: int  0 0 1 1 1 0 0 0 1 1 ...
##  $ ptl  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ ht   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ ui   : int  1 0 0 1 1 0 0 0 0 0 ...
##  $ ftv  : int  0 3 1 2 0 0 1 1 1 0 ...
##  $ bwt  : int  2523 2551 2557 2594 2600 2622 2637 2637 2663 2665 ...
#4.2. Liệt kê 6 quan sát đầu tiên của dữ liệu.  
# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Liệt kê 6 quan sát đầu tiên
head(bw)
##   id low age lwt race smoke ptl ht ui ftv  bwt
## 1 85   0  19 182    2     0   0  0  1   0 2523
## 2 86   0  33 155    3     0   0  0  0   3 2551
## 3 87   0  20 105    1     1   0  0  0   1 2557
## 4 88   0  21 108    1     1   0  0  1   2 2594
## 5 89   0  18 107    1     1   0  0  1   0 2600
## 6 91   0  21 124    3     0   0  0  0   0 2622
#4.3 viết lệnh để liệt kê 6 quan sát cuối cùng của dữ liệu 
# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Liệt kê 6 quan sát cuối cùng
tail(bw)
##     id low age lwt race smoke ptl ht ui ftv  bwt
## 184 78   1  14 101    3     1   1  0  0   0 2466
## 185 79   1  28  95    1     1   0  0  0   2 2466
## 186 81   1  14 100    3     0   0  0  0   2 2495
## 187 82   1  23  94    3     1   0  0  0   0 2495
## 188 83   1  17 142    2     0   0  1  0   0 2495
## 189 84   1  21 130    1     1   0  1  0   3 2495
#Việc 5. Biên tập dữ liệu
#5.1 Tạo biến số mới mwt là cân nặng của mẹ tính bằng kg

# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Tạo biến mới mwt (cân nặng mẹ tính bằng kg)
bw$mwt <- bw$lwt * 0.453592

# Kiểm tra 6 dòng đầu tiên để xem biến mới
head(bw)
##   id low age lwt race smoke ptl ht ui ftv  bwt      mwt
## 1 85   0  19 182    2     0   0  0  1   0 2523 82.55374
## 2 86   0  33 155    3     0   0  0  0   3 2551 70.30676
## 3 87   0  20 105    1     1   0  0  0   1 2557 47.62716
## 4 88   0  21 108    1     1   0  0  1   2 2594 48.98794
## 5 89   0  18 107    1     1   0  0  1   0 2600 48.53434
## 6 91   0  21 124    3     0   0  0  0   0 2622 56.24541
#5.2 Tạo biến số mới ethnicity là biến factor với điều kiện sau:

# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Tạo biến ethnicity dựa trên race
bw$ethnicity <- factor(ifelse(bw$race == 1, "White",
                              ifelse(bw$race == 2, "Black", "Other")))

# Kiểm tra 6 dòng đầu tiên để xem biến mới
head(bw)
##   id low age lwt race smoke ptl ht ui ftv  bwt ethnicity
## 1 85   0  19 182    2     0   0  0  1   0 2523     Black
## 2 86   0  33 155    3     0   0  0  0   3 2551     Other
## 3 87   0  20 105    1     1   0  0  0   1 2557     White
## 4 88   0  21 108    1     1   0  0  1   2 2594     White
## 5 89   0  18 107    1     1   0  0  1   0 2600     White
## 6 91   0  21 124    3     0   0  0  0   0 2622     Other
#5.3 Tạo 1 tập dữ liệu bw1 chỉ gồm 3 biến số id, low và bwt. Dữ liệu này có bao nhiêu biến số và quan sát?
# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Tạo tập dữ liệu bw1 chỉ gồm id, low, bwt
bw1 <- subset(bw, select = c(id, low, bwt))

# Kiểm tra 6 dòng đầu tiên của bw1
head(bw1)
##   id low  bwt
## 1 85   0 2523
## 2 86   0 2551
## 3 87   0 2557
## 4 88   0 2594
## 5 89   0 2600
## 6 91   0 2622
#5.4 Tạo 1 tập dữ liệu bw3 chỉ gồm những thai phụ có cân nặng thấp (low = 1). Dữ liệu này có bao nhiêu biến số và quan sát?
# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Tạo tập dữ liệu bw3 chỉ gồm những quan sát có low = 1
bw3 <- subset(bw, low == 1)

# Kiểm tra 6 dòng đầu tiên của bw3
head(bw3)
##     id low age lwt race smoke ptl ht ui ftv  bwt
## 131  4   1  28 120    3     1   1  0  1   0  709
## 132 10   1  29 130    1     0   0  0  1   2 1021
## 133 11   1  34 187    2     1   0  1  0   0 1135
## 134 13   1  25 105    3     0   1  1  0   0 1330
## 135 15   1  25  85    3     0   0  0  1   0 1474
## 136 16   1  27 150    3     0   0  0  0   0 1588
#5.5 Tạo 1 tập dữ liệu bw4 chỉ gồm những thai phụ có cân nặng thấp (low = 1) và có hút thuốc trong lúc mang thai (smoke = 1). Dữ liệu này có bao nhiêu biến số và quan sát?
# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Tạo tập dữ liệu bw4 chỉ gồm những quan sát có low = 1 và smoke = 1
bw4 <- subset(bw, low == 1 & smoke == 1)

# Kiểm tra 6 dòng đầu tiên của bw4
head(bw4)
##     id low age lwt race smoke ptl ht ui ftv  bwt
## 131  4   1  28 120    3     1   1  0  1   0  709
## 133 11   1  34 187    2     1   0  1  0   0 1135
## 140 20   1  21 165    1     1   0  1  0   1 1790
## 141 22   1  32 105    1     1   0  0  0   0 1818
## 142 23   1  19  91    1     1   2  0  1   0 1885
## 145 26   1  25  92    1     1   0  0  0   0 1928
#Việc 6. Sử dụng gói lệnh lessR: 
#  6.1 Vẽ biểu đồ phân bố histogram cân nặng của con (bwt)
# Cài đặt gói lessR (nếu chưa cài)
# install.packages("lessR")

# Nạp gói lessR
library(lessR)
## 
## lessR 4.4.2                         feedback: gerbing@pdx.edu 
## --------------------------------------------------------------
## > d <- Read("")  Read data file, many formats available, e.g., Excel
##   d is default data frame, data= in analysis routines optional
## 
## Many examples of reading, writing, and manipulating data, 
## graphics, testing means and proportions, regression, factor analysis,
## customization, forecasting, and aggregation from pivot tables
##   Enter: browseVignettes("lessR")
## 
## View lessR updates, now including time series forecasting
##   Enter: news(package="lessR")
## 
## Interactive data analysis
##   Enter: interact()
## 
## Attaching package: 'lessR'
## The following object is masked from 'package:base':
## 
##     sort_by
# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Vẽ histogram cho biến bwt
Histogram(bwt, data = bw)

## >>> Suggestions 
## bin_width: set the width of each bin 
## bin_start: set the start of the first bin 
## bin_end: set the end of the last bin 
## Histogram(bwt, density=TRUE)  # smoothed curve + histogram 
## Plot(bwt)  # Violin/Box/Scatterplot (VBS) plot 
## 
## --- bwt --- 
##  
##       n   miss       mean         sd        min        mdn        max 
##      189      0    2944.59     729.21     709.00    2977.00    4990.00 
##  
## 
##   
## --- Outliers ---     from the box plot: 1 
##  
## Small        Large 
## -----        ----- 
##  709.0            
## 
## 
## Bin Width: 500 
## Number of Bins: 9 
##  
##          Bin  Midpnt  Count    Prop  Cumul.c  Cumul.p 
## ----------------------------------------------------- 
##   500 > 1000     750      1    0.01        1     0.01 
##  1000 > 1500    1250      4    0.02        5     0.03 
##  1500 > 2000    1750     14    0.07       19     0.10 
##  2000 > 2500    2250     40    0.21       59     0.31 
##  2500 > 3000    2750     38    0.20       97     0.51 
##  3000 > 3500    3250     45    0.24      142     0.75 
##  3500 > 4000    3750     38    0.20      180     0.95 
##  4000 > 4500    4250      7    0.04      187     0.99 
##  4500 > 5000    4750      2    0.01      189     1.00 
## 
#6.2 Vẽ biểu đồ thanh (bar chart) chủng tộc  (ethnicity)
# Cài đặt gói lessR nếu chưa cài đặt
# install.packages("lessR")

# Nạp thư viện lessR
library(lessR)

# Đọc dữ liệu
bw <- read.csv("E:\\HOPT\\PTDLR\\DATA\\birthwt.csv")

# Tạo biến ethnicity dạng factor dựa trên biến race
bw$ethnicity <- factor(ifelse(bw$race == 1, "White",
                              ifelse(bw$race == 2, "Black",
                                     ifelse(bw$race == 3, "Other", NA))))

# Tạo histogram cân nặng trẻ (bwt)
Histogram(bwt, data = bw, main="Histogram cân nặng của con (bwt)",
          xlab="Cân nặng (grams)", fill="lightblue")

## >>> Suggestions 
## bin_width: set the width of each bin 
## bin_start: set the start of the first bin 
## bin_end: set the end of the last bin 
## Histogram(bwt, density=TRUE)  # smoothed curve + histogram 
## Plot(bwt)  # Violin/Box/Scatterplot (VBS) plot 
## 
## --- bwt --- 
##  
##       n   miss       mean         sd        min        mdn        max 
##      189      0    2944.59     729.21     709.00    2977.00    4990.00 
##  
## 
##   
## --- Outliers ---     from the box plot: 1 
##  
## Small        Large 
## -----        ----- 
##  709.0            
## 
## 
## Bin Width: 500 
## Number of Bins: 9 
##  
##          Bin  Midpnt  Count    Prop  Cumul.c  Cumul.p 
## ----------------------------------------------------- 
##   500 > 1000     750      1    0.01        1     0.01 
##  1000 > 1500    1250      4    0.02        5     0.03 
##  1500 > 2000    1750     14    0.07       19     0.10 
##  2000 > 2500    2250     40    0.21       59     0.31 
##  2500 > 3000    2750     38    0.20       97     0.51 
##  3000 > 3500    3250     45    0.24      142     0.75 
##  3500 > 4000    3750     38    0.20      180     0.95 
##  4000 > 4500    4250      7    0.04      187     0.99 
##  4500 > 5000    4750      2    0.01      189     1.00 
## 
# Vẽ biểu đồ thanh (bar chart) chủng tộc (ethnicity)
BarChart(ethnicity, data = bw,
         main="Biểu đồ phân bố chủng tộc",
         xlab="Chủng tộc",
         ylab="Số lượng",
         fill=c("skyblue", "salmon", "palegreen"))

## >>> Suggestions
## BarChart(ethnicity, horiz=TRUE)  # horizontal bar chart
## BarChart(ethnicity, fill="reds")  # red bars of varying lightness
## PieChart(ethnicity)  # doughnut (ring) chart
## Plot(ethnicity)  # bubble plot
## Plot(ethnicity, stat="count")  # lollipop plot 
## 
## --- ethnicity --- 
## 
## Missing Values: 0 
## 
##                Black  Other  White     Total 
## Frequencies:      26     67     96       189 
## Proportions:   0.138  0.354  0.508     1.000 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 39.270, df = 2, p-value = 0.000
#6.3 Vẽ biểu đồ tương quan giữa cân nặng của mẹ (lwt) và cân nặng của con (bwt)
# Nạp thư viện lessR (nếu chưa nạp)
library(lessR)

# Vẽ biểu đồ scatterplot giữa cân nặng mẹ và cân nặng con
ScatterPlot(lwt, bwt, data = bw,
            main = "Biểu đồ tương quan giữa cân nặng mẹ và cân nặng con",
            xlab = "Cân nặng mẹ (pounds)",
            ylab = "Cân nặng con (grams)",
            fill = "blue",
            fit = "lm")  # đường hồi quy tuyến tính

## 
## 
## >>> Suggestions  or  enter: style(suggest=FALSE)
## Plot(lwt, bwt, enhance=TRUE)  # many options
## Plot(lwt, bwt, color="red")  # exterior edge color of points
## Plot(lwt, bwt, out_cut=.10)  # label top 10% from center as outliers 
## 
## 
## >>> Pearson's product-moment correlation 
##  
## Number of paired values with neither missing, n = 189 
## Sample Correlation of lwt and bwt: r = 0.186 
##   
## Hypothesis Test of 0 Correlation:  t = 2.585,  df = 187,  p-value = 0.011 
## 95% Confidence Interval for Correlation:  0.044 to 0.320 
##   
## 
##   Line: b0 = 2369.624    b1 = 4.429    Linear Model MSE = 516,155.173   Rsq = 0.034
## 

Kết luận