library(ggplot2)
library(ggthemes)
library(lessR)
## 
## lessR 4.4.5                         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()
avf <- Read("/Users/toansama/Library/Mobile Documents/com~apple~CloudDocs/AVF/DS AVF/DATA FIX CANTHO 2026.xlsx")
## [with the read.xlsx() function from Schauberger and Walker's openxlsx package] 
## Removed character, Đ, new variable name:  ST 
## Removed character, Đ, new variable name:  T 
## Removed character, Đ, new variable name:  T 
## 
## R only allows letters, digits and . or  _ in variable names
## 
## 
## >>> Suggestions
## Recommended binary format for data files: feather
##   Create with Write(d, "your_file", format="feather")
## To read a csv or Excel file of variable labelsvar_labels=TRUE
##   Each row of the file:  Variable Name, Variable Label
## Read into a data frame named l  (the letter el)
## 
## More details about your data, Enter:  details()  for d, or  details(name)
## 
## Data Types
## ------------------------------------------------------------
## character: Non-numeric data values
## integer: Numeric data values, integers only
## Date: Date with year, month and day
## double: Numeric data values with decimal digits
## ------------------------------------------------------------
## 
##             Variable                  Missing  Unique 
##                 Name     Type  Values  Values  Values   First and last values
## ------------------------------------------------------------------------------------------
##  1               STT   integer     30       0      30   1  2  3 ... 28  29  30
##  2              MASO   integer     30       0      30   116495  98836 ... 217882  222147
##  3           HOVATEN character     30       0      30   PHUNG THI MY NHO  ... NGUYEN VAN THANH
##  4              TUOI   integer     30       0      23   75  35  34 ... 41  57  52
##  5             GTINH   integer     30       0       2   2  2  1 ... 1  1  1
##  6                NN character     30       0       3   NONG  SU CO  NONG ... NONG  NONG  NONG
##  7           NGAYVAO      Date     30       0      25   2024-04-07 ... 2024-07-01
##  8              KHOA character     30       0       1   NTLM  NTLM  NTLM ... NTLM  NTLM  NTLM
##  9            NGAYPT      Date     30       0      24   2024-04-10 ... 2024-07-03
## 10                ST character     30       0      30   931994099 ... 385140312
## 11          TTLOCMAU   integer     30       0       2   1  1  1 ... 1  1  1
## 12                 T   integer     30       0       2   1  2  2 ... 2  1  2
## 13          NIEMNHAT   integer     30       0       2   2  2  1 ... 1  1  1
## 14               PHU   integer     30       0       2   1  2  2 ... 1  1  1
## 15               THA   integer     30       0       2   1  1  1 ... 1  1  1
## 16             CHIPT   integer     30       0       2   2  1  1 ... 2  2  2
## 17            DMQUAY   integer     30       0       1   1  1  1 ... 1  1  1
## 18             DMTRU   integer     30       0       1   2  2  2 ... 2  2  2
## 19         DMCANHTAY   integer     30       0       1   1  1  1 ... 1  1  1
## 20        TMDAUCOTAY   integer     30       0       3   2  1  1 ... 1  1  2
## 21     TMDAUKHUYUTAY   integer     30       0       3   1  2  1 ... 1  2  2
## 22     TMNENKHUYUTAY   integer     30       0       3   3  2  1 ... 3  2  2
## 23         BCTRUOCPT    double     30       0      29   7.05  6.13  5.82 ... 4.69  6.93  7.06
## 24         HCTRUOCPT    double     30       0      28   2.81  2.62  2.04 ... 1.53  3.53  3.18
## 25         HbTRUOCPT   integer     30       0      24   87  77  59 ... 41  92  95
## 26         TCTRUOCPT   integer     30       0      29   245  104  101 ... 102  131  228
## 27        URETRUOCPT    double     30       0      30   24.4  17.3  37.5 ... 35.75  31.42  24.88
## 28  CREATININTRUOCPT    double     30       0      30   805.8  1002.7 ... 1182.33  1062.68
## 29          THIEUMAU   integer     30       0       4   2  2  3 ... 3  1  1
## 30          DKDMQUAY    double     30       0      12   1.7  2.4  3.3 ... 1.7  2.3  2.3
## 31           DKDMTRU    double     30       0      17   1.2  2.1  2.9 ... 1.5  1.7  1.8
## 32      DKTMDAUCOTAY character     30       0      18   2.2000000000000002  2.5 ... 1.6  2
## 33       DKDMCANHTAY    double     30       0      16   4.1  3.5  6.6 ... 3.7  4.2  4.9
## 34   DKTMDAUKHUYUTAY    double     30       0      19   3.5  2.9  3.7 ... 2.5  2  4.6
## 35           DKTMNEN    double     30       0      18   1.5  3  4.2 ... 2.6  2.5  2.6
## 36             VITRI   integer     30       0       2   2  1  1 ... 1  1  1
## 37           KITHUAT   integer     30       0       2   1  1  1 ... 1  1  1
## 38                PP   integer     30       0       2   1  1  1 ... 1  1  1
## 39           RUNGMIU   integer     30       0       2   1  2  1 ... 1  1  1
## 40      CHAYMAUPHUNE   integer     30       0       2   2  2  2 ... 2  2  2
## 41         RUNGDOCTM   integer     30       0       2   1  2  1 ... 1  1  1
## 42             BCSOM   integer     30       0       2   4  3  4 ... 4  4  4
## 43            VETMO1   integer     30       0       3   1  1  1 ... 1  1  1
## 44          RUNGMIU1   integer     30       0       1   1  1  1 ... 1  1  1
## 45           ttTMVE1   integer     30       0       3   1  1  1 ... 1  1  1
## 46               BC1 character     30       0      29   9.27  4.7699999999999996 ... 6.92  5.43
## 47               HC1 character     30       0      27   4.29 ... 2.4300000000000002
## 48               Hb1   integer     30       0      25   134  97  69 ... 66  94  70
## 49               TC1    double     30       0      30   209  82  187 ... 152  195  219
## 50              URE1 character     30       0      30   18.3  7.3 ... 20  30.7
## 51        CREATININ1    double     30       0      30   661.7  671.3 ... 582.8  907.9
## 52            DMDEN1    double     30       0      22   4.7  3.8  3.4 ... 3.9  2.3  3.4
## 53             TMVE1    double     29       1      20   4.5  6  4.5 ... 6.1  4.7  5.5
## 54         MIENGNOI1    double     30       0      20   2.9  4.3  3.3 ... 2.8  3.1  3.3
## 55             LLDM1   integer     28       2      28   556  294  500 ... 609  541  465
## 56             LLTM1   integer     30       0      28   614  413  646 ... 736  646  452
## 57      TRUONGTHANH1   integer     30       0       2   1  2  1 ... 1  1  2
## 58        DUCHAYTHAN   integer     30       0       2   1  1  1 ... 1  1  1
## 59             TTDM3   integer     30       0       1   3  3  3 ... 3  3  3
## 60             TTTM3   integer     30       0       1   3  3  3 ... 3  3  3
## 61         TTNUOICHI   integer     30       0       2   4  4  4 ... 4  4  4
## 62               BC3 character     30       0      30   3.87  3.88  4.68 ... 4.51  9.15  5.33
## 63               HC3 character     30       0      28   2.72  3.38 ... 3.21  1.99
## 64               Hb3   integer     30       0      26   83  101  108 ... 66  94  61
## 65               TC3   integer     30       0      28   240  128  220 ... 134  201  231
## 66              URE3    double     28       2      28   18.39  12.8  20.9 ... 15.9  NA  33.97
## 67        CREATININ3 character     27       3      27   739.81  802.9 ... NA  NA
## 68            DMDEN3    double     28       2      21   4.6  3.9  5 ... 3.8  2.2  3.1
## 69             TMVE3    double     29       1      23   5.1  5.5  5.7 ... 6.3  5.3  4.8
## 70         MIENGNOI3    double     29       1      21   4  3.5  2.1 ... 2.6  2.5  3.2
## 71             LLDM3   integer     29       1      28   724  560  650 ... 561  635  500
## 72             LLTM3   integer     29       1      29   668  659  601 ... 624  660  553
## 73      TRUONGTHANH3   integer     30       0       2   1  1  1 ... 1  1  1
## ------------------------------------------------------------------------------------------
## 
## 
## For the column CREATININ3, each row of data is unique. Are these values
## a unique ID for each row? To define as a row name, re-read the data file
## with the following setting added to your Read() statement: row_names=67
avf$Truongthanh <- ifelse(avf$TRUONGTHANH1==1, "Có", "Không")
a <- ggplot(data = avf, aes(x=TMVE1, y=LLTM1)) + geom_point(aes(color=Truongthanh),size = 3.8, alpha = 0.9) + scale_color_manual(values = c("Có" = "#0072B2", "Không" = "#D55E00")) + scale_x_continuous(limits = c(2.8, 8.5), breaks = seq(3, 8, by = 1)) +
  scale_y_continuous(limits = c(200, 2200), breaks = seq(500, 2200, by = 500))
a <- a + geom_smooth(method = "lm", color = "#1A1A1A", linewidth = 1.3, fill = "gray70", alpha = 0.18 ) 
a <- a + labs(x = "Đường kính TM trở về (mm)",y = "Lưu lượng TM trở về (ml/phút)",title = "SAU MỔ 4 TUẦN") + theme(plot.title = element_text(face = "bold",hjust = 0.5))
a <- a + theme_economist() + theme(
    # Day ten truc tung sang trai mot khoang 15pt de khong de vao so 500, 1000
    axis.title.y = element_text(margin = margin(r = 15), vjust = 0.5),
    # Canh khoang cach ten truc hoanh
    axis.title.x = element_text(margin = margin(t = 10)),
    # Bo cuc chu thich ngang phia tren
    legend.position = "none"
  ) 
a
## `geom_smooth()` using formula = 'y ~ x'

library(ggplot2)
library(ggthemes)
library(lessR)
avf <- Read("/Users/toansama/Library/Mobile Documents/com~apple~CloudDocs/AVF/DS AVF/DATA FIX CANTHO 2026.xlsx")
## [with the read.xlsx() function from Schauberger and Walker's openxlsx package] 
## Removed character, Đ, new variable name:  ST 
## Removed character, Đ, new variable name:  T 
## Removed character, Đ, new variable name:  T 
## 
## R only allows letters, digits and . or  _ in variable names
## 
## 
## >>> Suggestions
## Recommended binary format for data files: feather
##   Create with Write(d, "your_file", format="feather")
## To read a csv or Excel file of variable labelsvar_labels=TRUE
##   Each row of the file:  Variable Name, Variable Label
## Read into a data frame named l  (the letter el)
## 
## More details about your data, Enter:  details()  for d, or  details(name)
## 
## Data Types
## ------------------------------------------------------------
## character: Non-numeric data values
## integer: Numeric data values, integers only
## Date: Date with year, month and day
## double: Numeric data values with decimal digits
## ------------------------------------------------------------
## 
##             Variable                  Missing  Unique 
##                 Name     Type  Values  Values  Values   First and last values
## ------------------------------------------------------------------------------------------
##  1               STT   integer     30       0      30   1  2  3 ... 28  29  30
##  2              MASO   integer     30       0      30   116495  98836 ... 217882  222147
##  3           HOVATEN character     30       0      30   PHUNG THI MY NHO  ... NGUYEN VAN THANH
##  4              TUOI   integer     30       0      23   75  35  34 ... 41  57  52
##  5             GTINH   integer     30       0       2   2  2  1 ... 1  1  1
##  6                NN character     30       0       3   NONG  SU CO  NONG ... NONG  NONG  NONG
##  7           NGAYVAO      Date     30       0      25   2024-04-07 ... 2024-07-01
##  8              KHOA character     30       0       1   NTLM  NTLM  NTLM ... NTLM  NTLM  NTLM
##  9            NGAYPT      Date     30       0      24   2024-04-10 ... 2024-07-03
## 10                ST character     30       0      30   931994099 ... 385140312
## 11          TTLOCMAU   integer     30       0       2   1  1  1 ... 1  1  1
## 12                 T   integer     30       0       2   1  2  2 ... 2  1  2
## 13          NIEMNHAT   integer     30       0       2   2  2  1 ... 1  1  1
## 14               PHU   integer     30       0       2   1  2  2 ... 1  1  1
## 15               THA   integer     30       0       2   1  1  1 ... 1  1  1
## 16             CHIPT   integer     30       0       2   2  1  1 ... 2  2  2
## 17            DMQUAY   integer     30       0       1   1  1  1 ... 1  1  1
## 18             DMTRU   integer     30       0       1   2  2  2 ... 2  2  2
## 19         DMCANHTAY   integer     30       0       1   1  1  1 ... 1  1  1
## 20        TMDAUCOTAY   integer     30       0       3   2  1  1 ... 1  1  2
## 21     TMDAUKHUYUTAY   integer     30       0       3   1  2  1 ... 1  2  2
## 22     TMNENKHUYUTAY   integer     30       0       3   3  2  1 ... 3  2  2
## 23         BCTRUOCPT    double     30       0      29   7.05  6.13  5.82 ... 4.69  6.93  7.06
## 24         HCTRUOCPT    double     30       0      28   2.81  2.62  2.04 ... 1.53  3.53  3.18
## 25         HbTRUOCPT   integer     30       0      24   87  77  59 ... 41  92  95
## 26         TCTRUOCPT   integer     30       0      29   245  104  101 ... 102  131  228
## 27        URETRUOCPT    double     30       0      30   24.4  17.3  37.5 ... 35.75  31.42  24.88
## 28  CREATININTRUOCPT    double     30       0      30   805.8  1002.7 ... 1182.33  1062.68
## 29          THIEUMAU   integer     30       0       4   2  2  3 ... 3  1  1
## 30          DKDMQUAY    double     30       0      12   1.7  2.4  3.3 ... 1.7  2.3  2.3
## 31           DKDMTRU    double     30       0      17   1.2  2.1  2.9 ... 1.5  1.7  1.8
## 32      DKTMDAUCOTAY character     30       0      18   2.2000000000000002  2.5 ... 1.6  2
## 33       DKDMCANHTAY    double     30       0      16   4.1  3.5  6.6 ... 3.7  4.2  4.9
## 34   DKTMDAUKHUYUTAY    double     30       0      19   3.5  2.9  3.7 ... 2.5  2  4.6
## 35           DKTMNEN    double     30       0      18   1.5  3  4.2 ... 2.6  2.5  2.6
## 36             VITRI   integer     30       0       2   2  1  1 ... 1  1  1
## 37           KITHUAT   integer     30       0       2   1  1  1 ... 1  1  1
## 38                PP   integer     30       0       2   1  1  1 ... 1  1  1
## 39           RUNGMIU   integer     30       0       2   1  2  1 ... 1  1  1
## 40      CHAYMAUPHUNE   integer     30       0       2   2  2  2 ... 2  2  2
## 41         RUNGDOCTM   integer     30       0       2   1  2  1 ... 1  1  1
## 42             BCSOM   integer     30       0       2   4  3  4 ... 4  4  4
## 43            VETMO1   integer     30       0       3   1  1  1 ... 1  1  1
## 44          RUNGMIU1   integer     30       0       1   1  1  1 ... 1  1  1
## 45           ttTMVE1   integer     30       0       3   1  1  1 ... 1  1  1
## 46               BC1 character     30       0      29   9.27  4.7699999999999996 ... 6.92  5.43
## 47               HC1 character     30       0      27   4.29 ... 2.4300000000000002
## 48               Hb1   integer     30       0      25   134  97  69 ... 66  94  70
## 49               TC1    double     30       0      30   209  82  187 ... 152  195  219
## 50              URE1 character     30       0      30   18.3  7.3 ... 20  30.7
## 51        CREATININ1    double     30       0      30   661.7  671.3 ... 582.8  907.9
## 52            DMDEN1    double     30       0      22   4.7  3.8  3.4 ... 3.9  2.3  3.4
## 53             TMVE1    double     29       1      20   4.5  6  4.5 ... 6.1  4.7  5.5
## 54         MIENGNOI1    double     30       0      20   2.9  4.3  3.3 ... 2.8  3.1  3.3
## 55             LLDM1   integer     28       2      28   556  294  500 ... 609  541  465
## 56             LLTM1   integer     30       0      28   614  413  646 ... 736  646  452
## 57      TRUONGTHANH1   integer     30       0       2   1  2  1 ... 1  1  2
## 58        DUCHAYTHAN   integer     30       0       2   1  1  1 ... 1  1  1
## 59             TTDM3   integer     30       0       1   3  3  3 ... 3  3  3
## 60             TTTM3   integer     30       0       1   3  3  3 ... 3  3  3
## 61         TTNUOICHI   integer     30       0       2   4  4  4 ... 4  4  4
## 62               BC3 character     30       0      30   3.87  3.88  4.68 ... 4.51  9.15  5.33
## 63               HC3 character     30       0      28   2.72  3.38 ... 3.21  1.99
## 64               Hb3   integer     30       0      26   83  101  108 ... 66  94  61
## 65               TC3   integer     30       0      28   240  128  220 ... 134  201  231
## 66              URE3    double     28       2      28   18.39  12.8  20.9 ... 15.9  NA  33.97
## 67        CREATININ3 character     27       3      27   739.81  802.9 ... NA  NA
## 68            DMDEN3    double     28       2      21   4.6  3.9  5 ... 3.8  2.2  3.1
## 69             TMVE3    double     29       1      23   5.1  5.5  5.7 ... 6.3  5.3  4.8
## 70         MIENGNOI3    double     29       1      21   4  3.5  2.1 ... 2.6  2.5  3.2
## 71             LLDM3   integer     29       1      28   724  560  650 ... 561  635  500
## 72             LLTM3   integer     29       1      29   668  659  601 ... 624  660  553
## 73      TRUONGTHANH3   integer     30       0       2   1  1  1 ... 1  1  1
## ------------------------------------------------------------------------------------------
## 
## 
## For the column CREATININ3, each row of data is unique. Are these values
## a unique ID for each row? To define as a row name, re-read the data file
## with the following setting added to your Read() statement: row_names=67
avf$Truongthanh <- ifelse(avf$TRUONGTHANH3==1, "Có", "Không")
a <- ggplot(data = avf, aes(x=TMVE3, y=LLTM3)) + geom_point(aes(color=Truongthanh),size = 3.8, alpha = 0.9)
a <- a + geom_smooth(method = "lm", 
    color = "#1A1A1A",       # Mau den tuyen tao do tuong phan toi da
    linewidth = 1.3,         # Duong ke day va sac net
    fill = "gray70",         # Mau dai tin cay sang va nhe hon
    alpha = 0.18             # Do trong suot nhe de khong lam duc bieu do
    ) 
a <- a + scale_color_manual(name = "Trưởng thành", values = c("Có" = "#0072B2", "Không" = "#D55E00")) + labs(x = "Đường kính TM trở về (mm)",y = "Lưu lượng TM trở về (ml/phút)",title = "SAU MỔ 12 TUẦN") + theme(plot.title = element_text(lineheight = 0.5, face = "bold",hjust = 1))
a <- a + theme_economist() + theme(# Can le va kich thuoc tieu de chinh
    plot.title = element_text(size = 13, lineheight = 1.1, margin = margin(b = 10)),
    # Day ten truc tung sang trai mot khoang 15pt de khong de vao so 500, 1000
    axis.title.y = element_text(margin = margin(r = 15), vjust = 0.5),
    # Canh khoang cach ten truc hoanh
    axis.title.x = element_text(margin = margin(t = 10)),
    # Bo cuc chu thich ngang phia tren
    legend.position = "top",
    legend.title = element_text(size = 11),
    legend.text = element_text(size = 10)
  ) 
a
## `geom_smooth()` using formula = 'y ~ x'

library(ggplot2)
library(ggthemes)
library(lessR)
avf <- Read("/Users/toansama/Library/Mobile Documents/com~apple~CloudDocs/AVF/DS AVF/DATA FIX CANTHO 2026.xlsx")
## [with the read.xlsx() function from Schauberger and Walker's openxlsx package] 
## Removed character, Đ, new variable name:  ST 
## Removed character, Đ, new variable name:  T 
## Removed character, Đ, new variable name:  T 
## 
## R only allows letters, digits and . or  _ in variable names
## 
## 
## >>> Suggestions
## Recommended binary format for data files: feather
##   Create with Write(d, "your_file", format="feather")
## To read a csv or Excel file of variable labelsvar_labels=TRUE
##   Each row of the file:  Variable Name, Variable Label
## Read into a data frame named l  (the letter el)
## 
## More details about your data, Enter:  details()  for d, or  details(name)
## 
## Data Types
## ------------------------------------------------------------
## character: Non-numeric data values
## integer: Numeric data values, integers only
## Date: Date with year, month and day
## double: Numeric data values with decimal digits
## ------------------------------------------------------------
## 
##             Variable                  Missing  Unique 
##                 Name     Type  Values  Values  Values   First and last values
## ------------------------------------------------------------------------------------------
##  1               STT   integer     30       0      30   1  2  3 ... 28  29  30
##  2              MASO   integer     30       0      30   116495  98836 ... 217882  222147
##  3           HOVATEN character     30       0      30   PHUNG THI MY NHO  ... NGUYEN VAN THANH
##  4              TUOI   integer     30       0      23   75  35  34 ... 41  57  52
##  5             GTINH   integer     30       0       2   2  2  1 ... 1  1  1
##  6                NN character     30       0       3   NONG  SU CO  NONG ... NONG  NONG  NONG
##  7           NGAYVAO      Date     30       0      25   2024-04-07 ... 2024-07-01
##  8              KHOA character     30       0       1   NTLM  NTLM  NTLM ... NTLM  NTLM  NTLM
##  9            NGAYPT      Date     30       0      24   2024-04-10 ... 2024-07-03
## 10                ST character     30       0      30   931994099 ... 385140312
## 11          TTLOCMAU   integer     30       0       2   1  1  1 ... 1  1  1
## 12                 T   integer     30       0       2   1  2  2 ... 2  1  2
## 13          NIEMNHAT   integer     30       0       2   2  2  1 ... 1  1  1
## 14               PHU   integer     30       0       2   1  2  2 ... 1  1  1
## 15               THA   integer     30       0       2   1  1  1 ... 1  1  1
## 16             CHIPT   integer     30       0       2   2  1  1 ... 2  2  2
## 17            DMQUAY   integer     30       0       1   1  1  1 ... 1  1  1
## 18             DMTRU   integer     30       0       1   2  2  2 ... 2  2  2
## 19         DMCANHTAY   integer     30       0       1   1  1  1 ... 1  1  1
## 20        TMDAUCOTAY   integer     30       0       3   2  1  1 ... 1  1  2
## 21     TMDAUKHUYUTAY   integer     30       0       3   1  2  1 ... 1  2  2
## 22     TMNENKHUYUTAY   integer     30       0       3   3  2  1 ... 3  2  2
## 23         BCTRUOCPT    double     30       0      29   7.05  6.13  5.82 ... 4.69  6.93  7.06
## 24         HCTRUOCPT    double     30       0      28   2.81  2.62  2.04 ... 1.53  3.53  3.18
## 25         HbTRUOCPT   integer     30       0      24   87  77  59 ... 41  92  95
## 26         TCTRUOCPT   integer     30       0      29   245  104  101 ... 102  131  228
## 27        URETRUOCPT    double     30       0      30   24.4  17.3  37.5 ... 35.75  31.42  24.88
## 28  CREATININTRUOCPT    double     30       0      30   805.8  1002.7 ... 1182.33  1062.68
## 29          THIEUMAU   integer     30       0       4   2  2  3 ... 3  1  1
## 30          DKDMQUAY    double     30       0      12   1.7  2.4  3.3 ... 1.7  2.3  2.3
## 31           DKDMTRU    double     30       0      17   1.2  2.1  2.9 ... 1.5  1.7  1.8
## 32      DKTMDAUCOTAY character     30       0      18   2.2000000000000002  2.5 ... 1.6  2
## 33       DKDMCANHTAY    double     30       0      16   4.1  3.5  6.6 ... 3.7  4.2  4.9
## 34   DKTMDAUKHUYUTAY    double     30       0      19   3.5  2.9  3.7 ... 2.5  2  4.6
## 35           DKTMNEN    double     30       0      18   1.5  3  4.2 ... 2.6  2.5  2.6
## 36             VITRI   integer     30       0       2   2  1  1 ... 1  1  1
## 37           KITHUAT   integer     30       0       2   1  1  1 ... 1  1  1
## 38                PP   integer     30       0       2   1  1  1 ... 1  1  1
## 39           RUNGMIU   integer     30       0       2   1  2  1 ... 1  1  1
## 40      CHAYMAUPHUNE   integer     30       0       2   2  2  2 ... 2  2  2
## 41         RUNGDOCTM   integer     30       0       2   1  2  1 ... 1  1  1
## 42             BCSOM   integer     30       0       2   4  3  4 ... 4  4  4
## 43            VETMO1   integer     30       0       3   1  1  1 ... 1  1  1
## 44          RUNGMIU1   integer     30       0       1   1  1  1 ... 1  1  1
## 45           ttTMVE1   integer     30       0       3   1  1  1 ... 1  1  1
## 46               BC1 character     30       0      29   9.27  4.7699999999999996 ... 6.92  5.43
## 47               HC1 character     30       0      27   4.29 ... 2.4300000000000002
## 48               Hb1   integer     30       0      25   134  97  69 ... 66  94  70
## 49               TC1    double     30       0      30   209  82  187 ... 152  195  219
## 50              URE1 character     30       0      30   18.3  7.3 ... 20  30.7
## 51        CREATININ1    double     30       0      30   661.7  671.3 ... 582.8  907.9
## 52            DMDEN1    double     30       0      22   4.7  3.8  3.4 ... 3.9  2.3  3.4
## 53             TMVE1    double     29       1      20   4.5  6  4.5 ... 6.1  4.7  5.5
## 54         MIENGNOI1    double     30       0      20   2.9  4.3  3.3 ... 2.8  3.1  3.3
## 55             LLDM1   integer     28       2      28   556  294  500 ... 609  541  465
## 56             LLTM1   integer     30       0      28   614  413  646 ... 736  646  452
## 57      TRUONGTHANH1   integer     30       0       2   1  2  1 ... 1  1  2
## 58        DUCHAYTHAN   integer     30       0       2   1  1  1 ... 1  1  1
## 59             TTDM3   integer     30       0       1   3  3  3 ... 3  3  3
## 60             TTTM3   integer     30       0       1   3  3  3 ... 3  3  3
## 61         TTNUOICHI   integer     30       0       2   4  4  4 ... 4  4  4
## 62               BC3 character     30       0      30   3.87  3.88  4.68 ... 4.51  9.15  5.33
## 63               HC3 character     30       0      28   2.72  3.38 ... 3.21  1.99
## 64               Hb3   integer     30       0      26   83  101  108 ... 66  94  61
## 65               TC3   integer     30       0      28   240  128  220 ... 134  201  231
## 66              URE3    double     28       2      28   18.39  12.8  20.9 ... 15.9  NA  33.97
## 67        CREATININ3 character     27       3      27   739.81  802.9 ... NA  NA
## 68            DMDEN3    double     28       2      21   4.6  3.9  5 ... 3.8  2.2  3.1
## 69             TMVE3    double     29       1      23   5.1  5.5  5.7 ... 6.3  5.3  4.8
## 70         MIENGNOI3    double     29       1      21   4  3.5  2.1 ... 2.6  2.5  3.2
## 71             LLDM3   integer     29       1      28   724  560  650 ... 561  635  500
## 72             LLTM3   integer     29       1      29   668  659  601 ... 624  660  553
## 73      TRUONGTHANH3   integer     30       0       2   1  1  1 ... 1  1  1
## ------------------------------------------------------------------------------------------
## 
## 
## For the column CREATININ3, each row of data is unique. Are these values
## a unique ID for each row? To define as a row name, re-read the data file
## with the following setting added to your Read() statement: row_names=67
avf$Truongthanh <- ifelse(avf$TRUONGTHANH1==1, "Có", "Không")
a <- ggplot(data = avf, aes(x = TMVE1, y = LLTM1)) +
  geom_smooth(method = "lm", color = "#1A1A1A", linewidth = 1.2, fill = "gray80", alpha = 0.25) +
  geom_point(aes(color = Truongthanh), size = 3.8, alpha = 0.95) +
  scale_color_manual(name = "Trưởng thành", values = c("Có" = "#0072B2", "Không" = "#D55E00")) +
  labs(
    title = "Mối liên quan giữa lưu lượng TM và\nđường kính TM trở về sau 4 tuần",
    x = "Đường kính TM trở về (mm)",
    y = "Lưu lượng TM trở về (ml/phút)"
  ) +
  theme_classic() +
  theme(
    plot.title = element_text(size = 13, lineheight = 1.1, hjust = 0.5),
    axis.title = element_text(size = 11),
    axis.text = element_text(size = 10),
    legend.position = "top",
    plot.background = element_rect(fill = "transparent", color = NA)
  )
a
## `geom_smooth()` using formula = 'y ~ x'

library(ggplot2)
library(ggthemes)
library(lessR)
avf <- Read("/Users/toansama/Library/Mobile Documents/com~apple~CloudDocs/AVF/DS AVF/DATA FIX CANTHO 2026.xlsx")
## [with the read.xlsx() function from Schauberger and Walker's openxlsx package] 
## Removed character, Đ, new variable name:  ST 
## Removed character, Đ, new variable name:  T 
## Removed character, Đ, new variable name:  T 
## 
## R only allows letters, digits and . or  _ in variable names
## 
## 
## >>> Suggestions
## Recommended binary format for data files: feather
##   Create with Write(d, "your_file", format="feather")
## To read a csv or Excel file of variable labelsvar_labels=TRUE
##   Each row of the file:  Variable Name, Variable Label
## Read into a data frame named l  (the letter el)
## 
## More details about your data, Enter:  details()  for d, or  details(name)
## 
## Data Types
## ------------------------------------------------------------
## character: Non-numeric data values
## integer: Numeric data values, integers only
## Date: Date with year, month and day
## double: Numeric data values with decimal digits
## ------------------------------------------------------------
## 
##             Variable                  Missing  Unique 
##                 Name     Type  Values  Values  Values   First and last values
## ------------------------------------------------------------------------------------------
##  1               STT   integer     30       0      30   1  2  3 ... 28  29  30
##  2              MASO   integer     30       0      30   116495  98836 ... 217882  222147
##  3           HOVATEN character     30       0      30   PHUNG THI MY NHO  ... NGUYEN VAN THANH
##  4              TUOI   integer     30       0      23   75  35  34 ... 41  57  52
##  5             GTINH   integer     30       0       2   2  2  1 ... 1  1  1
##  6                NN character     30       0       3   NONG  SU CO  NONG ... NONG  NONG  NONG
##  7           NGAYVAO      Date     30       0      25   2024-04-07 ... 2024-07-01
##  8              KHOA character     30       0       1   NTLM  NTLM  NTLM ... NTLM  NTLM  NTLM
##  9            NGAYPT      Date     30       0      24   2024-04-10 ... 2024-07-03
## 10                ST character     30       0      30   931994099 ... 385140312
## 11          TTLOCMAU   integer     30       0       2   1  1  1 ... 1  1  1
## 12                 T   integer     30       0       2   1  2  2 ... 2  1  2
## 13          NIEMNHAT   integer     30       0       2   2  2  1 ... 1  1  1
## 14               PHU   integer     30       0       2   1  2  2 ... 1  1  1
## 15               THA   integer     30       0       2   1  1  1 ... 1  1  1
## 16             CHIPT   integer     30       0       2   2  1  1 ... 2  2  2
## 17            DMQUAY   integer     30       0       1   1  1  1 ... 1  1  1
## 18             DMTRU   integer     30       0       1   2  2  2 ... 2  2  2
## 19         DMCANHTAY   integer     30       0       1   1  1  1 ... 1  1  1
## 20        TMDAUCOTAY   integer     30       0       3   2  1  1 ... 1  1  2
## 21     TMDAUKHUYUTAY   integer     30       0       3   1  2  1 ... 1  2  2
## 22     TMNENKHUYUTAY   integer     30       0       3   3  2  1 ... 3  2  2
## 23         BCTRUOCPT    double     30       0      29   7.05  6.13  5.82 ... 4.69  6.93  7.06
## 24         HCTRUOCPT    double     30       0      28   2.81  2.62  2.04 ... 1.53  3.53  3.18
## 25         HbTRUOCPT   integer     30       0      24   87  77  59 ... 41  92  95
## 26         TCTRUOCPT   integer     30       0      29   245  104  101 ... 102  131  228
## 27        URETRUOCPT    double     30       0      30   24.4  17.3  37.5 ... 35.75  31.42  24.88
## 28  CREATININTRUOCPT    double     30       0      30   805.8  1002.7 ... 1182.33  1062.68
## 29          THIEUMAU   integer     30       0       4   2  2  3 ... 3  1  1
## 30          DKDMQUAY    double     30       0      12   1.7  2.4  3.3 ... 1.7  2.3  2.3
## 31           DKDMTRU    double     30       0      17   1.2  2.1  2.9 ... 1.5  1.7  1.8
## 32      DKTMDAUCOTAY character     30       0      18   2.2000000000000002  2.5 ... 1.6  2
## 33       DKDMCANHTAY    double     30       0      16   4.1  3.5  6.6 ... 3.7  4.2  4.9
## 34   DKTMDAUKHUYUTAY    double     30       0      19   3.5  2.9  3.7 ... 2.5  2  4.6
## 35           DKTMNEN    double     30       0      18   1.5  3  4.2 ... 2.6  2.5  2.6
## 36             VITRI   integer     30       0       2   2  1  1 ... 1  1  1
## 37           KITHUAT   integer     30       0       2   1  1  1 ... 1  1  1
## 38                PP   integer     30       0       2   1  1  1 ... 1  1  1
## 39           RUNGMIU   integer     30       0       2   1  2  1 ... 1  1  1
## 40      CHAYMAUPHUNE   integer     30       0       2   2  2  2 ... 2  2  2
## 41         RUNGDOCTM   integer     30       0       2   1  2  1 ... 1  1  1
## 42             BCSOM   integer     30       0       2   4  3  4 ... 4  4  4
## 43            VETMO1   integer     30       0       3   1  1  1 ... 1  1  1
## 44          RUNGMIU1   integer     30       0       1   1  1  1 ... 1  1  1
## 45           ttTMVE1   integer     30       0       3   1  1  1 ... 1  1  1
## 46               BC1 character     30       0      29   9.27  4.7699999999999996 ... 6.92  5.43
## 47               HC1 character     30       0      27   4.29 ... 2.4300000000000002
## 48               Hb1   integer     30       0      25   134  97  69 ... 66  94  70
## 49               TC1    double     30       0      30   209  82  187 ... 152  195  219
## 50              URE1 character     30       0      30   18.3  7.3 ... 20  30.7
## 51        CREATININ1    double     30       0      30   661.7  671.3 ... 582.8  907.9
## 52            DMDEN1    double     30       0      22   4.7  3.8  3.4 ... 3.9  2.3  3.4
## 53             TMVE1    double     29       1      20   4.5  6  4.5 ... 6.1  4.7  5.5
## 54         MIENGNOI1    double     30       0      20   2.9  4.3  3.3 ... 2.8  3.1  3.3
## 55             LLDM1   integer     28       2      28   556  294  500 ... 609  541  465
## 56             LLTM1   integer     30       0      28   614  413  646 ... 736  646  452
## 57      TRUONGTHANH1   integer     30       0       2   1  2  1 ... 1  1  2
## 58        DUCHAYTHAN   integer     30       0       2   1  1  1 ... 1  1  1
## 59             TTDM3   integer     30       0       1   3  3  3 ... 3  3  3
## 60             TTTM3   integer     30       0       1   3  3  3 ... 3  3  3
## 61         TTNUOICHI   integer     30       0       2   4  4  4 ... 4  4  4
## 62               BC3 character     30       0      30   3.87  3.88  4.68 ... 4.51  9.15  5.33
## 63               HC3 character     30       0      28   2.72  3.38 ... 3.21  1.99
## 64               Hb3   integer     30       0      26   83  101  108 ... 66  94  61
## 65               TC3   integer     30       0      28   240  128  220 ... 134  201  231
## 66              URE3    double     28       2      28   18.39  12.8  20.9 ... 15.9  NA  33.97
## 67        CREATININ3 character     27       3      27   739.81  802.9 ... NA  NA
## 68            DMDEN3    double     28       2      21   4.6  3.9  5 ... 3.8  2.2  3.1
## 69             TMVE3    double     29       1      23   5.1  5.5  5.7 ... 6.3  5.3  4.8
## 70         MIENGNOI3    double     29       1      21   4  3.5  2.1 ... 2.6  2.5  3.2
## 71             LLDM3   integer     29       1      28   724  560  650 ... 561  635  500
## 72             LLTM3   integer     29       1      29   668  659  601 ... 624  660  553
## 73      TRUONGTHANH3   integer     30       0       2   1  1  1 ... 1  1  1
## ------------------------------------------------------------------------------------------
## 
## 
## For the column CREATININ3, each row of data is unique. Are these values
## a unique ID for each row? To define as a row name, re-read the data file
## with the following setting added to your Read() statement: row_names=67
avf$Truongthanh <- ifelse(avf$TRUONGTHANH1 == 1, "Có", "Không")

a <- ggplot(data = avf, aes(x = TMVE1, y = LLTM1)) +
  # 1. Duong hoi quy va khoang tin cay 95% lot o lop duoi
  geom_smooth(
    method = "lm", 
    color = "#1A1A1A",       # Mau den tuyen noi bat tren nen trang
    linewidth = 1.3, 
    fill = "gray75", 
    alpha = 0.25,
    na.rm = TRUE
  ) +
  # 2. Cac cham so lieu noi len tren
  geom_point(
    aes(color = Truongthanh), 
    size = 3.8, 
    alpha = 0.95,
    na.rm = TRUE
  ) +
  # 3. Mau sac tiep hoan toan voi thanh xanh va hoa tiet do cua template
  scale_color_manual(
    values = c("Có" = "#0072B2", "Không" = "#D55E00")
  ) +
  # 4. Co dinh thang do va cac moc chia truc
  scale_x_continuous(
    limits = c(2.8, 8.5), 
    breaks = seq(3, 8, by = 1)
  ) +
  scale_y_continuous(
    limits = c(200, 2200), 
    breaks = seq(500, 2200, by = 500)
  ) +
  # 5. Tieu de va don vi truc
  labs(
    title = "SAU MỔ 4 TUẦN",
    subtitle = "Hệ số tương quan r = 0.46 (95% CI: 0.11 - 0.70), p = 0.012",
    x = "Đường kính TM trở về (mm)",
    y = "Lưu lượng TM trở về (ml/phút)"
  ) +
  # 6. Giao dien chinh can le, tieu de giua va ke luoi ngang
  theme_economist() +
  theme(
    # Can tieu de "SAU MO 4 TUAN" nam chinh giua
    plot.title = element_text(size = 13, face = "bold", hjust = 0.5, margin = margin(b = 12)),
    plot.subtitle = element_text(size = 10.5, hjust = 0.5, color = "gray25"),
    # Canh le truc tung va truc hoanh de tranh de chu
    axis.title.y = element_text(margin = margin(r = 15), vjust = 0.5, size = 11),
    axis.title.x = element_text(margin = margin(t = 12), size = 11),
    axis.text = element_text(size = 10),
    
    # An chu thich vi da co chu thich tong tren slide
    legend.position = "none",
    
    # Tao lai duong ke luoi ngang mau xam nhat di qua cac moc 500, 1000, 1500, 2000
    panel.grid.major.y = element_line(color = "#E0E0E0", linewidth = 0.6),
    panel.grid.major.x = element_blank(),
    panel.grid.minor = element_blank(),
    
    # Nen trong suot de hoa nhap lien mach vao slide hoi nghi
    panel.background = element_rect(fill = "transparent", color = NA),
    plot.background = element_rect(fill = "transparent", color = NA)
  )

# Hien thi bieu do
a
## `geom_smooth()` using formula = 'y ~ x'

library(ggplot2)
library(ggthemes)
library(lessR)

avf <- Read("/Users/toansama/Library/Mobile Documents/com~apple~CloudDocs/AVF/DS AVF/DATA FIX CANTHO 2026.xlsx")
## [with the read.xlsx() function from Schauberger and Walker's openxlsx package] 
## Removed character, Đ, new variable name:  ST 
## Removed character, Đ, new variable name:  T 
## Removed character, Đ, new variable name:  T 
## 
## R only allows letters, digits and . or  _ in variable names
## 
## 
## >>> Suggestions
## Recommended binary format for data files: feather
##   Create with Write(d, "your_file", format="feather")
## To read a csv or Excel file of variable labelsvar_labels=TRUE
##   Each row of the file:  Variable Name, Variable Label
## Read into a data frame named l  (the letter el)
## 
## More details about your data, Enter:  details()  for d, or  details(name)
## 
## Data Types
## ------------------------------------------------------------
## character: Non-numeric data values
## integer: Numeric data values, integers only
## Date: Date with year, month and day
## double: Numeric data values with decimal digits
## ------------------------------------------------------------
## 
##             Variable                  Missing  Unique 
##                 Name     Type  Values  Values  Values   First and last values
## ------------------------------------------------------------------------------------------
##  1               STT   integer     30       0      30   1  2  3 ... 28  29  30
##  2              MASO   integer     30       0      30   116495  98836 ... 217882  222147
##  3           HOVATEN character     30       0      30   PHUNG THI MY NHO  ... NGUYEN VAN THANH
##  4              TUOI   integer     30       0      23   75  35  34 ... 41  57  52
##  5             GTINH   integer     30       0       2   2  2  1 ... 1  1  1
##  6                NN character     30       0       3   NONG  SU CO  NONG ... NONG  NONG  NONG
##  7           NGAYVAO      Date     30       0      25   2024-04-07 ... 2024-07-01
##  8              KHOA character     30       0       1   NTLM  NTLM  NTLM ... NTLM  NTLM  NTLM
##  9            NGAYPT      Date     30       0      24   2024-04-10 ... 2024-07-03
## 10                ST character     30       0      30   931994099 ... 385140312
## 11          TTLOCMAU   integer     30       0       2   1  1  1 ... 1  1  1
## 12                 T   integer     30       0       2   1  2  2 ... 2  1  2
## 13          NIEMNHAT   integer     30       0       2   2  2  1 ... 1  1  1
## 14               PHU   integer     30       0       2   1  2  2 ... 1  1  1
## 15               THA   integer     30       0       2   1  1  1 ... 1  1  1
## 16             CHIPT   integer     30       0       2   2  1  1 ... 2  2  2
## 17            DMQUAY   integer     30       0       1   1  1  1 ... 1  1  1
## 18             DMTRU   integer     30       0       1   2  2  2 ... 2  2  2
## 19         DMCANHTAY   integer     30       0       1   1  1  1 ... 1  1  1
## 20        TMDAUCOTAY   integer     30       0       3   2  1  1 ... 1  1  2
## 21     TMDAUKHUYUTAY   integer     30       0       3   1  2  1 ... 1  2  2
## 22     TMNENKHUYUTAY   integer     30       0       3   3  2  1 ... 3  2  2
## 23         BCTRUOCPT    double     30       0      29   7.05  6.13  5.82 ... 4.69  6.93  7.06
## 24         HCTRUOCPT    double     30       0      28   2.81  2.62  2.04 ... 1.53  3.53  3.18
## 25         HbTRUOCPT   integer     30       0      24   87  77  59 ... 41  92  95
## 26         TCTRUOCPT   integer     30       0      29   245  104  101 ... 102  131  228
## 27        URETRUOCPT    double     30       0      30   24.4  17.3  37.5 ... 35.75  31.42  24.88
## 28  CREATININTRUOCPT    double     30       0      30   805.8  1002.7 ... 1182.33  1062.68
## 29          THIEUMAU   integer     30       0       4   2  2  3 ... 3  1  1
## 30          DKDMQUAY    double     30       0      12   1.7  2.4  3.3 ... 1.7  2.3  2.3
## 31           DKDMTRU    double     30       0      17   1.2  2.1  2.9 ... 1.5  1.7  1.8
## 32      DKTMDAUCOTAY character     30       0      18   2.2000000000000002  2.5 ... 1.6  2
## 33       DKDMCANHTAY    double     30       0      16   4.1  3.5  6.6 ... 3.7  4.2  4.9
## 34   DKTMDAUKHUYUTAY    double     30       0      19   3.5  2.9  3.7 ... 2.5  2  4.6
## 35           DKTMNEN    double     30       0      18   1.5  3  4.2 ... 2.6  2.5  2.6
## 36             VITRI   integer     30       0       2   2  1  1 ... 1  1  1
## 37           KITHUAT   integer     30       0       2   1  1  1 ... 1  1  1
## 38                PP   integer     30       0       2   1  1  1 ... 1  1  1
## 39           RUNGMIU   integer     30       0       2   1  2  1 ... 1  1  1
## 40      CHAYMAUPHUNE   integer     30       0       2   2  2  2 ... 2  2  2
## 41         RUNGDOCTM   integer     30       0       2   1  2  1 ... 1  1  1
## 42             BCSOM   integer     30       0       2   4  3  4 ... 4  4  4
## 43            VETMO1   integer     30       0       3   1  1  1 ... 1  1  1
## 44          RUNGMIU1   integer     30       0       1   1  1  1 ... 1  1  1
## 45           ttTMVE1   integer     30       0       3   1  1  1 ... 1  1  1
## 46               BC1 character     30       0      29   9.27  4.7699999999999996 ... 6.92  5.43
## 47               HC1 character     30       0      27   4.29 ... 2.4300000000000002
## 48               Hb1   integer     30       0      25   134  97  69 ... 66  94  70
## 49               TC1    double     30       0      30   209  82  187 ... 152  195  219
## 50              URE1 character     30       0      30   18.3  7.3 ... 20  30.7
## 51        CREATININ1    double     30       0      30   661.7  671.3 ... 582.8  907.9
## 52            DMDEN1    double     30       0      22   4.7  3.8  3.4 ... 3.9  2.3  3.4
## 53             TMVE1    double     29       1      20   4.5  6  4.5 ... 6.1  4.7  5.5
## 54         MIENGNOI1    double     30       0      20   2.9  4.3  3.3 ... 2.8  3.1  3.3
## 55             LLDM1   integer     28       2      28   556  294  500 ... 609  541  465
## 56             LLTM1   integer     30       0      28   614  413  646 ... 736  646  452
## 57      TRUONGTHANH1   integer     30       0       2   1  2  1 ... 1  1  2
## 58        DUCHAYTHAN   integer     30       0       2   1  1  1 ... 1  1  1
## 59             TTDM3   integer     30       0       1   3  3  3 ... 3  3  3
## 60             TTTM3   integer     30       0       1   3  3  3 ... 3  3  3
## 61         TTNUOICHI   integer     30       0       2   4  4  4 ... 4  4  4
## 62               BC3 character     30       0      30   3.87  3.88  4.68 ... 4.51  9.15  5.33
## 63               HC3 character     30       0      28   2.72  3.38 ... 3.21  1.99
## 64               Hb3   integer     30       0      26   83  101  108 ... 66  94  61
## 65               TC3   integer     30       0      28   240  128  220 ... 134  201  231
## 66              URE3    double     28       2      28   18.39  12.8  20.9 ... 15.9  NA  33.97
## 67        CREATININ3 character     27       3      27   739.81  802.9 ... NA  NA
## 68            DMDEN3    double     28       2      21   4.6  3.9  5 ... 3.8  2.2  3.1
## 69             TMVE3    double     29       1      23   5.1  5.5  5.7 ... 6.3  5.3  4.8
## 70         MIENGNOI3    double     29       1      21   4  3.5  2.1 ... 2.6  2.5  3.2
## 71             LLDM3   integer     29       1      28   724  560  650 ... 561  635  500
## 72             LLTM3   integer     29       1      29   668  659  601 ... 624  660  553
## 73      TRUONGTHANH3   integer     30       0       2   1  1  1 ... 1  1  1
## ------------------------------------------------------------------------------------------
## 
## 
## For the column CREATININ3, each row of data is unique. Are these values
## a unique ID for each row? To define as a row name, re-read the data file
## with the following setting added to your Read() statement: row_names=67
avf$Truongthanh <- ifelse(avf$TRUONGTHANH3 == 1, "Có", "Không")

a <- ggplot(data = avf, aes(x = TMVE3, y = LLTM3)) +
  # 1. Duong hoi quy va khoang tin cay 95% lot o lop duoi
  geom_smooth(
    method = "lm", 
    color = "#1A1A1A",       # Mau den tuyen noi bat tren nen trang
    linewidth = 1.3, 
    fill = "gray75", 
    alpha = 0.25,
    na.rm = TRUE
  ) +
  # 2. Cac cham so lieu noi len tren
  geom_point(
    aes(color = Truongthanh), 
    size = 3.8, 
    alpha = 0.95,
    na.rm = TRUE
  ) +
  # 3. Mau sac tiep hoan toan voi thanh xanh va hoa tiet do cua template
  scale_color_manual(
    values = c("Có" = "#0072B2", "Không" = "#D55E00")
  ) +
  # 4. Co dinh thang do va cac moc chia truc
  scale_x_continuous(
    limits = c(2.8, 8.5), 
    breaks = seq(3, 8, by = 1)
  ) +
  scale_y_continuous(
    limits = c(200, 2200), 
    breaks = seq(500, 2200, by = 500)
  ) +
  # 5. Tieu de va don vi truc
  labs(
    title = "SAU MỔ 12 TUẦN",
    x = "Đường kính TM trở về (mm)",
    y = "Lưu lượng TM trở về (ml/phút)"
  ) +
  # 6. Giao dien chinh can le, tieu de giua va ke luoi ngang
  theme_economist() +
  theme(
    # Can tieu de "SAU MO 4 TUAN" nam chinh giua
    plot.title = element_text(size = 13, face = "bold", hjust = 0.5, margin = margin(b = 12)),
    
    # Canh le truc tung va truc hoanh de tranh de chu
    axis.title.y = element_text(margin = margin(r = 15), vjust = 0.5, size = 11),
    axis.title.x = element_text(margin = margin(t = 12), size = 11),
    axis.text = element_text(size = 10),
    
    # An chu thich vi da co chu thich tong tren slide
    legend.position = "none",
    
    # Tao lai duong ke luoi ngang mau xam nhat di qua cac moc 500, 1000, 1500, 2000
    panel.grid.major.y = element_line(color = "#E0E0E0", linewidth = 0.6),
    panel.grid.major.x = element_blank(),
    panel.grid.minor = element_blank(),
    
    # Nen trong suot de hoa nhap lien mach vao slide hoi nghi
    panel.background = element_rect(fill = "transparent", color = NA),
    plot.background = element_rect(fill = "transparent", color = NA)
  )

# Hien thi bieu do
a
## `geom_smooth()` using formula = 'y ~ x'

library(ggplot2)
library(ggthemes)
library(lessR)
avf <- Read("/Users/toansama/Library/Mobile Documents/com~apple~CloudDocs/AVF/DS AVF/DATA FIX CANTHO 2026.xlsx")
## [with the read.xlsx() function from Schauberger and Walker's openxlsx package] 
## Removed character, Đ, new variable name:  ST 
## Removed character, Đ, new variable name:  T 
## Removed character, Đ, new variable name:  T 
## 
## R only allows letters, digits and . or  _ in variable names
## 
## 
## >>> Suggestions
## Recommended binary format for data files: feather
##   Create with Write(d, "your_file", format="feather")
## To read a csv or Excel file of variable labelsvar_labels=TRUE
##   Each row of the file:  Variable Name, Variable Label
## Read into a data frame named l  (the letter el)
## 
## More details about your data, Enter:  details()  for d, or  details(name)
## 
## Data Types
## ------------------------------------------------------------
## character: Non-numeric data values
## integer: Numeric data values, integers only
## Date: Date with year, month and day
## double: Numeric data values with decimal digits
## ------------------------------------------------------------
## 
##             Variable                  Missing  Unique 
##                 Name     Type  Values  Values  Values   First and last values
## ------------------------------------------------------------------------------------------
##  1               STT   integer     30       0      30   1  2  3 ... 28  29  30
##  2              MASO   integer     30       0      30   116495  98836 ... 217882  222147
##  3           HOVATEN character     30       0      30   PHUNG THI MY NHO  ... NGUYEN VAN THANH
##  4              TUOI   integer     30       0      23   75  35  34 ... 41  57  52
##  5             GTINH   integer     30       0       2   2  2  1 ... 1  1  1
##  6                NN character     30       0       3   NONG  SU CO  NONG ... NONG  NONG  NONG
##  7           NGAYVAO      Date     30       0      25   2024-04-07 ... 2024-07-01
##  8              KHOA character     30       0       1   NTLM  NTLM  NTLM ... NTLM  NTLM  NTLM
##  9            NGAYPT      Date     30       0      24   2024-04-10 ... 2024-07-03
## 10                ST character     30       0      30   931994099 ... 385140312
## 11          TTLOCMAU   integer     30       0       2   1  1  1 ... 1  1  1
## 12                 T   integer     30       0       2   1  2  2 ... 2  1  2
## 13          NIEMNHAT   integer     30       0       2   2  2  1 ... 1  1  1
## 14               PHU   integer     30       0       2   1  2  2 ... 1  1  1
## 15               THA   integer     30       0       2   1  1  1 ... 1  1  1
## 16             CHIPT   integer     30       0       2   2  1  1 ... 2  2  2
## 17            DMQUAY   integer     30       0       1   1  1  1 ... 1  1  1
## 18             DMTRU   integer     30       0       1   2  2  2 ... 2  2  2
## 19         DMCANHTAY   integer     30       0       1   1  1  1 ... 1  1  1
## 20        TMDAUCOTAY   integer     30       0       3   2  1  1 ... 1  1  2
## 21     TMDAUKHUYUTAY   integer     30       0       3   1  2  1 ... 1  2  2
## 22     TMNENKHUYUTAY   integer     30       0       3   3  2  1 ... 3  2  2
## 23         BCTRUOCPT    double     30       0      29   7.05  6.13  5.82 ... 4.69  6.93  7.06
## 24         HCTRUOCPT    double     30       0      28   2.81  2.62  2.04 ... 1.53  3.53  3.18
## 25         HbTRUOCPT   integer     30       0      24   87  77  59 ... 41  92  95
## 26         TCTRUOCPT   integer     30       0      29   245  104  101 ... 102  131  228
## 27        URETRUOCPT    double     30       0      30   24.4  17.3  37.5 ... 35.75  31.42  24.88
## 28  CREATININTRUOCPT    double     30       0      30   805.8  1002.7 ... 1182.33  1062.68
## 29          THIEUMAU   integer     30       0       4   2  2  3 ... 3  1  1
## 30          DKDMQUAY    double     30       0      12   1.7  2.4  3.3 ... 1.7  2.3  2.3
## 31           DKDMTRU    double     30       0      17   1.2  2.1  2.9 ... 1.5  1.7  1.8
## 32      DKTMDAUCOTAY character     30       0      18   2.2000000000000002  2.5 ... 1.6  2
## 33       DKDMCANHTAY    double     30       0      16   4.1  3.5  6.6 ... 3.7  4.2  4.9
## 34   DKTMDAUKHUYUTAY    double     30       0      19   3.5  2.9  3.7 ... 2.5  2  4.6
## 35           DKTMNEN    double     30       0      18   1.5  3  4.2 ... 2.6  2.5  2.6
## 36             VITRI   integer     30       0       2   2  1  1 ... 1  1  1
## 37           KITHUAT   integer     30       0       2   1  1  1 ... 1  1  1
## 38                PP   integer     30       0       2   1  1  1 ... 1  1  1
## 39           RUNGMIU   integer     30       0       2   1  2  1 ... 1  1  1
## 40      CHAYMAUPHUNE   integer     30       0       2   2  2  2 ... 2  2  2
## 41         RUNGDOCTM   integer     30       0       2   1  2  1 ... 1  1  1
## 42             BCSOM   integer     30       0       2   4  3  4 ... 4  4  4
## 43            VETMO1   integer     30       0       3   1  1  1 ... 1  1  1
## 44          RUNGMIU1   integer     30       0       1   1  1  1 ... 1  1  1
## 45           ttTMVE1   integer     30       0       3   1  1  1 ... 1  1  1
## 46               BC1 character     30       0      29   9.27  4.7699999999999996 ... 6.92  5.43
## 47               HC1 character     30       0      27   4.29 ... 2.4300000000000002
## 48               Hb1   integer     30       0      25   134  97  69 ... 66  94  70
## 49               TC1    double     30       0      30   209  82  187 ... 152  195  219
## 50              URE1 character     30       0      30   18.3  7.3 ... 20  30.7
## 51        CREATININ1    double     30       0      30   661.7  671.3 ... 582.8  907.9
## 52            DMDEN1    double     30       0      22   4.7  3.8  3.4 ... 3.9  2.3  3.4
## 53             TMVE1    double     29       1      20   4.5  6  4.5 ... 6.1  4.7  5.5
## 54         MIENGNOI1    double     30       0      20   2.9  4.3  3.3 ... 2.8  3.1  3.3
## 55             LLDM1   integer     28       2      28   556  294  500 ... 609  541  465
## 56             LLTM1   integer     30       0      28   614  413  646 ... 736  646  452
## 57      TRUONGTHANH1   integer     30       0       2   1  2  1 ... 1  1  2
## 58        DUCHAYTHAN   integer     30       0       2   1  1  1 ... 1  1  1
## 59             TTDM3   integer     30       0       1   3  3  3 ... 3  3  3
## 60             TTTM3   integer     30       0       1   3  3  3 ... 3  3  3
## 61         TTNUOICHI   integer     30       0       2   4  4  4 ... 4  4  4
## 62               BC3 character     30       0      30   3.87  3.88  4.68 ... 4.51  9.15  5.33
## 63               HC3 character     30       0      28   2.72  3.38 ... 3.21  1.99
## 64               Hb3   integer     30       0      26   83  101  108 ... 66  94  61
## 65               TC3   integer     30       0      28   240  128  220 ... 134  201  231
## 66              URE3    double     28       2      28   18.39  12.8  20.9 ... 15.9  NA  33.97
## 67        CREATININ3 character     27       3      27   739.81  802.9 ... NA  NA
## 68            DMDEN3    double     28       2      21   4.6  3.9  5 ... 3.8  2.2  3.1
## 69             TMVE3    double     29       1      23   5.1  5.5  5.7 ... 6.3  5.3  4.8
## 70         MIENGNOI3    double     29       1      21   4  3.5  2.1 ... 2.6  2.5  3.2
## 71             LLDM3   integer     29       1      28   724  560  650 ... 561  635  500
## 72             LLTM3   integer     29       1      29   668  659  601 ... 624  660  553
## 73      TRUONGTHANH3   integer     30       0       2   1  1  1 ... 1  1  1
## ------------------------------------------------------------------------------------------
## 
## 
## For the column CREATININ3, each row of data is unique. Are these values
## a unique ID for each row? To define as a row name, re-read the data file
## with the following setting added to your Read() statement: row_names=67
avf$Truongthanh <- ifelse(avf$TRUONGTHANH3 == 1, "Có", "Không")

a <- ggplot(data = avf, aes(x = TMVE3, y = LLTM3)) +
  # 1. Duong hoi quy va khoang tin cay 95% lot o lop duoi
  geom_smooth(
    method = "lm", 
    color = "#1A1A1A",       # Mau den tuyen noi bat tren nen trang
    linewidth = 1.3, 
    fill = "gray75", 
    alpha = 0.25,
    na.rm = TRUE
  ) +
  # 2. Cac cham so lieu noi len tren
  geom_point(
    aes(color = Truongthanh), 
    size = 3.8, 
    alpha = 0.95,
    na.rm = TRUE
  ) +
  # 3. Mau sac tiep hoan toan voi thanh xanh va hoa tiet do cua template
  scale_color_manual(
    values = c("Có" = "#0072B2", "Không" = "#D55E00")
  ) +
  # 4. Co dinh thang do va cac moc chia truc
  scale_x_continuous(
    limits = c(2.8, 8.5), 
    breaks = seq(3, 8, by = 1)
  ) +
  scale_y_continuous(
    limits = c(200, 2200), 
    breaks = seq(500, 2200, by = 500)
  ) +
  # 5. Tieu de va don vi truc
  labs(
    title = "SAU MỔ 12 TUẦN",
    subtitle = "Hệ số tương quan r = 0.38 (95% CI: 0.11 - 0.65), p = 0.044",
    x = "Đường kính TM trở về (mm)",
    y = "Lưu lượng TM trở về (ml/phút)"
  ) +
  # 6. Giao dien chinh can le, tieu de giua va ke luoi ngang
  theme_economist() +
  theme(
    # Can tieu de "SAU MO 4 TUAN" nam chinh giua
    plot.title = element_text(size = 13, face = "bold", hjust = 0.5, margin = margin(b = 12)),
    plot.subtitle = element_text(size = 10.5, hjust = 0.5, color = "gray25"),
    # Canh le truc tung va truc hoanh de tranh de chu
    axis.title.y = element_text(margin = margin(r = 15), vjust = 0.5, size = 11),
    axis.title.x = element_text(margin = margin(t = 12), size = 11),
    axis.text = element_text(size = 10),
    
    # An chu thich vi da co chu thich tong tren slide
    legend.position = "none",
    
    # Tao lai duong ke luoi ngang mau xam nhat di qua cac moc 500, 1000, 1500, 2000
    panel.grid.major.y = element_line(color = "#E0E0E0", linewidth = 0.6),
    panel.grid.major.x = element_blank(),
    panel.grid.minor = element_blank(),
    
    # Nen trong suot de hoa nhap lien mach vao slide hoi nghi
    panel.background = element_rect(fill = "transparent", color = NA),
    plot.background = element_rect(fill = "transparent", color = NA)
  )

# Hien thi bieu do
a
## `geom_smooth()` using formula = 'y ~ x'