#loading packages for analysis install.packages(c(“tidyverse”, “dplyr”, “lessR”, “table1”, “compareGroups”, “ggplot2”, “gridExtra”, “ggthemes”, “ggfortify”, “simpleboot”, “boot”, “relaimpo”, “caret”, “BMA”, “car”, “epiDisplay”), dependencies = T)
# Đọc dữ liệu bằng hộp thoại chọn file
bw <- read.csv("C:\\Users\\Ngo Thi Thuan\\Desktop\\training course\\data files\\birthwt.csv", header = TRUE)
# Thông tin dữ liệu
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
dim(bw)
## [1] 189 11
#Biên tập dữ liệu
##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*0.453592
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
##Tạo biến số mới ethnicity là biến factor với điều kiện
bw$ethnicity[bw$race==1]="White"
bw$ethnicity[bw$race==2]="Black"
bw$ethnicity[bw$race==3]="Other"
head(bw,6)
## id low age lwt race smoke ptl ht ui ftv bwt mwt ethnicity
## 1 85 0 19 182 2 0 0 0 1 0 2523 82.55374 Black
## 2 86 0 33 155 3 0 0 0 0 3 2551 70.30676 Other
## 3 87 0 20 105 1 1 0 0 0 1 2557 47.62716 White
## 4 88 0 21 108 1 1 0 0 1 2 2594 48.98794 White
## 5 89 0 18 107 1 1 0 0 1 0 2600 48.53434 White
## 6 91 0 21 124 3 0 0 0 0 0 2622 56.24541 Other
##Tạo 1 tập dữ liệu bw1 chỉ gồm 3 biến số id, low and bwt
bw1=bw[,c("id","low","bwt")]
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
###Số biến số và quan sát của bw1
dim(bw1)
## [1] 189 3
##Tạo 1 tập dữ liệu bw2 chỉ gồm những thai phụ có cân nặng thấp (low=1)
bw2=subset(bw,low==1)
dim(bw2)
## [1] 59 13
##Tạo 1 tập dữ liệu bw2 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)
bw3=subset(bw,low==1,smoke==1)
dim(bw3)
## [1] 59 0
#Phân tích mô tả
##Mô tả đặc điểm tuổi của mẹ, cân nặng của mẹ và cân nặng của con
library(table1)
##
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
##
## units, units<-
table1(~age+ethnicity+mwt+bwt,data=bw)
| Overall (N=189) |
|
|---|---|
| age | |
| Mean (SD) | 23.2 (5.30) |
| Median [Min, Max] | 23.0 [14.0, 45.0] |
| ethnicity | |
| Black | 26 (13.8%) |
| Other | 67 (35.4%) |
| White | 96 (50.8%) |
| mwt | |
| Mean (SD) | 58.9 (13.9) |
| Median [Min, Max] | 54.9 [36.3, 113] |
| bwt | |
| Mean (SD) | 2940 (729) |
| Median [Min, Max] | 2980 [709, 4990] |
#Mô tả đặc điểm tuổi của mẹ (age), cân nặng của mẹ (lwt), tình trạng hút thuốc trong thai kỳ (smoke) , chủng tộc (race), và cân nặng của con (bwt) theo tình trạng trẻ thiếu cân (low)
table1(~age+ethnicity+mwt+bwt|low,data=bw)
## Warning in table1.formula(~age + ethnicity + mwt + bwt | low, data = bw): Terms
## to the right of '|' in formula 'x' define table columns and are expected to be
## factors with meaningful labels.
| 0 (N=130) |
1 (N=59) |
Overall (N=189) |
|
|---|---|---|---|
| age | |||
| Mean (SD) | 23.7 (5.58) | 22.3 (4.51) | 23.2 (5.30) |
| Median [Min, Max] | 23.0 [14.0, 45.0] | 22.0 [14.0, 34.0] | 23.0 [14.0, 45.0] |
| ethnicity | |||
| Black | 15 (11.5%) | 11 (18.6%) | 26 (13.8%) |
| Other | 42 (32.3%) | 25 (42.4%) | 67 (35.4%) |
| White | 73 (56.2%) | 23 (39.0%) | 96 (50.8%) |
| mwt | |||
| Mean (SD) | 60.5 (14.4) | 55.4 (12.0) | 58.9 (13.9) |
| Median [Min, Max] | 56.0 [38.6, 113] | 54.4 [36.3, 90.7] | 54.9 [36.3, 113] |
| bwt | |||
| Mean (SD) | 3330 (478) | 2100 (391) | 2940 (729) |
| Median [Min, Max] | 3270 [2520, 4990] | 2210 [709, 2500] | 2980 [709, 4990] |
#Phân tích bằng biểu đồ dùng package lessR
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:table1':
##
## label
## The following object is masked from 'package:base':
##
## sort_by
##Biểu đồ phân bố
Histogram(bwt,data=bw,xlab="Cân nặng của trẻ sơ sinh (g)",ylab="Frequency",fill="blue")
## >>> 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
##
##Biểu đồ bar
BarChart(race,ylab="số bà mẹ",data=bw)
## >>> Suggestions
## BarChart(race, horiz=TRUE) # horizontal bar chart
## BarChart(race, fill="reds") # red bars of varying lightness
## PieChart(race) # doughnut (ring) chart
## Plot(race) # bubble plot
## Plot(race, stat="count") # lollipop plot
##
## --- race ---
##
## Missing Values: 0
##
## 1 2 3 Total
## Frequencies: 96 26 67 189
## Proportions: 0.508 0.138 0.354 1.000
##
## Chi-squared test of null hypothesis of equal probabilities
## Chisq = 39.270, df = 2, p-value = 0.000
##Biểu đồ tương quan
Plot(lwt,bwt,fit="lm",by=race,data=bw)
##
##
## >>> 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
##
## race: 1 Line: b0 = 2442.418 b1 = 5.000 Linear Model MSE = 514,065.615 Rsq = 0.040
##
## race: 2 Line: b0 = 2363.222 b1 = 2.428 Linear Model MSE = 415,263.548 Rsq = 0.023
##
## race: 3 Line: b0 = 2070.778 b1 = 6.120 Linear Model MSE = 505,570.324 Rsq = 0.045
##