Khóa học sử dụng R - Ngày 1

Việc 3: Đọc dữ liệu

Yêu cầu đọc dữ liệu brirthwt.csv vào R

bw=read.csv("D:/Learning/CME/R Statistic 2025/DỮ LIỆU THỰC HÀNH (TS Thạch gửi)/birthwt.csv")

Việc 4: Thông tin về dữ liệu

4.1 Bao nhiêu biến số

dim(bw)
## [1] 189  11

4.2 Liệt kê 6 quan sát đầu tiên

head(bw,6)
##   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 Liệt kê 6 quan sát cuối

tail(bw,6)
##     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

bw$mwt=bw$lwt/2.2046

5.2 Tạo biến số mới ethnicity

bw$ethnicity[bw$race==1]="White"
bw$ethnicity[bw$race==2]="Black"
bw$ethnicity[bw$race==3]="Other"

5.3 Tạo 1 tập dữ liệu bw1 chỉ gồm 3 biến số id, low và bwt

bw1=bw[,c("id","low","bwt")]
dim(bw1)
## [1] 189   3

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)

bw3=subset(bw,low==1)
dim(bw3)
## [1] 59 13

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)

bw4=subset(bw,low==1&smoke==1)
dim(bw4)
## [1] 30 13

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)

library(lessR)
## 
## lessR 4.4.3                         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
Histogram(bwt,fill="blue",xLab="Birthweight(g)",yLab="Frequency",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)

BarChart(ethnicity,data=bw)

## >>> 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)

Plot(lwt,bwt,fit="lm",data=bw)

## 
## 
## >>> Suggestions  or  enter: style(suggest=FALSE)
## Plot(lwt, bwt, enhance=TRUE)  # many options
## Plot(lwt, bwt, fill="skyblue")  # interior fill 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
## 

6.4 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) theo tình trạng chủng tộc của mẹ (ethnicity)

Plot(lwt,bwt,by=ethnicity,fit="lm",data=bw,xlab="Mother's weight", ylab="Birth weight", main="Mother's weight - Birth weight correlation")

## 
## 
## >>> 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, MD_cut=6)  # Mahalanobis distance from center > 6 is an outlier 
## 
## ethnicity: Black  Line: b0 = 2363.222    b1 = 2.428    Linear Model MSE = 415,263.548   Rsq = 0.023
##  
## ethnicity: Other  Line: b0 = 2070.778    b1 = 6.120    Linear Model MSE = 505,570.324   Rsq = 0.045
##  
## ethnicity: White  Line: b0 = 2442.418    b1 = 5.000    Linear Model MSE = 514,065.615   Rsq = 0.040
##