#data
library(readr)
## Warning: package 'readr' was built under R version 4.1.1
Laundry <- read_csv("D:/HAPPY LAUNDRY/Laundry.csv")
## Rows: 126 Columns: 12
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr  (1): DATE
## dbl (11): INCOME, PAID, CREDIT, DEBIT, TOTAL PAYMENT, P.DRAWING, B.DRAWING, ...
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
attach(Laundry)
head(Laundry)
## # A tibble: 6 x 12
##   DATE       INCOME  PAID CREDIT DEBIT `TOTAL PAYMENT` P.DRAWING B.DRAWING T.DRAWING
##   <chr>       <dbl> <dbl>  <dbl> <dbl>           <dbl>     <dbl>     <dbl>     <dbl>
## 1 16/06/2021    470   470      0   100             570        NA       800       800
## 2 17/06/2021     70    70      0   360             430        NA        NA         0
## 3 18/06/2021    170    70    100   200             270       160        NA       160
## 4 19/06/2021    270   120    150    NA             120        60        NA        60
## 5 20/06/2021    170    70    100   250             320        90        50       140
## 6 21/06/2021      0    NA      0    NA               0       300        NA       300
## # ... with 3 more variables: INJECTION <dbl>, TOTAL INCOME <dbl>, PROFIT <dbl>
str(Laundry)
## spec_tbl_df [126 x 12] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ DATE         : chr [1:126] "16/06/2021" "17/06/2021" "18/06/2021" "19/06/2021" ...
##  $ INCOME       : num [1:126] 470 70 170 270 170 0 340 70 220 350 ...
##  $ PAID         : num [1:126] 470 70 70 120 70 NA 340 70 70 NA ...
##  $ CREDIT       : num [1:126] 0 0 100 150 100 0 0 0 150 350 ...
##  $ DEBIT        : num [1:126] 100 360 200 NA 250 NA NA NA NA NA ...
##  $ TOTAL PAYMENT: num [1:126] 570 430 270 120 320 0 340 70 70 0 ...
##  $ P.DRAWING    : num [1:126] NA NA 160 60 90 300 NA 100 300 NA ...
##  $ B.DRAWING    : num [1:126] 800 NA NA NA 50 NA NA 70 NA 50 ...
##  $ T.DRAWING    : num [1:126] 800 0 160 60 140 300 0 170 300 50 ...
##  $ INJECTION    : num [1:126] 600 NA NA NA NA NA NA NA NA NA ...
##  $ TOTAL INCOME : num [1:126] 1070 70 170 270 170 0 340 70 220 350 ...
##  $ PROFIT       : num [1:126] 370 430 110 60 180 -300 340 -100 -230 -50 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   DATE = col_character(),
##   ..   INCOME = col_double(),
##   ..   PAID = col_double(),
##   ..   CREDIT = col_double(),
##   ..   DEBIT = col_double(),
##   ..   `TOTAL PAYMENT` = col_double(),
##   ..   P.DRAWING = col_double(),
##   ..   B.DRAWING = col_double(),
##   ..   T.DRAWING = col_double(),
##   ..   INJECTION = col_double(),
##   ..   `TOTAL INCOME` = col_double(),
##   ..   PROFIT = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>
dim(Laundry)
## [1] 126  12
samples <- c(1:126)
#data cleaning
#================================
#Date column
Date <- Laundry$DATE
Date <- as.Date(Date, format = '%d/%m/%Y')
class(Date)
## [1] "Date"
head(Date)
## [1] "2021-06-16" "2021-06-17" "2021-06-18" "2021-06-19" "2021-06-20"
## [6] "2021-06-21"
head(weekdays(Date))
## [1] "Wednesday" "Thursday"  "Friday"    "Saturday"  "Sunday"    "Monday"
months(Date)
##   [1] "June"      "June"      "June"      "June"      "June"      "June"     
##   [7] "June"      "June"      "June"      "June"      "June"      "June"     
##  [13] "June"      "June"      "June"      "July"      "July"      "July"     
##  [19] "July"      "July"      "July"      "July"      "July"      "July"     
##  [25] "July"      "July"      "July"      "July"      "July"      "July"     
##  [31] "July"      "July"      "July"      "July"      "July"      "July"     
##  [37] "July"      "July"      "July"      "July"      "July"      "July"     
##  [43] "July"      "July"      "July"      "July"      "August"    "August"   
##  [49] "August"    "August"    "August"    "August"    "August"    "August"   
##  [55] "August"    "August"    "August"    "August"    "August"    "August"   
##  [61] "August"    "August"    "August"    "August"    "August"    "August"   
##  [67] "August"    "August"    "August"    "August"    "August"    "August"   
##  [73] "August"    "August"    "August"    "August"    "August"    "September"
##  [79] "September" "September" "September" "September" "September" "September"
##  [85] "September" "September" "September" "September" "September" "September"
##  [91] "September" "September" "September" "September" "September" "September"
##  [97] "September" "September" "September" "September" "September" "September"
## [103] "September" "September" "September" "September" "September" "October"  
## [109] "October"   "October"   "October"   "October"   "October"   "October"  
## [115] "October"   "October"   "October"   "October"   "October"   "October"  
## [121] "October"   "October"   "October"   "October"   "October"   "October"
sort.int(table(months(Date)))
## 
##      June   October September    August      July 
##        15        19        30        31        31
#final data to be used
#converting date column with new date
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.1
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
Laundry <- mutate(Laundry, 
                  DATE = Date)
attach(Laundry)
## The following objects are masked from Laundry (pos = 4):
## 
##     B.DRAWING, CREDIT, DATE, DEBIT, INCOME, INJECTION, P.DRAWING, PAID,
##     PROFIT, T.DRAWING, TOTAL INCOME, TOTAL PAYMENT
class(Date)
## [1] "Date"
#missing values
any(is.na(Laundry)) #confirming if there is a missing value
## [1] TRUE
sum(is.na(Laundry)) #sum of missing values
## [1] 360
Laundry[is.na(Laundry)] <- 0 #converting all the missing values to 0
laundry <- data.frame(samples,weekdays(Date),months(Date), Laundry)
attach(laundry)
## The following object is masked _by_ .GlobalEnv:
## 
##     samples
## The following objects are masked from Laundry (pos = 3):
## 
##     B.DRAWING, CREDIT, DATE, DEBIT, INCOME, INJECTION, P.DRAWING, PAID,
##     PROFIT, T.DRAWING
## The following objects are masked from Laundry (pos = 5):
## 
##     B.DRAWING, CREDIT, DATE, DEBIT, INCOME, INJECTION, P.DRAWING, PAID,
##     PROFIT, T.DRAWING
laundry <- select(laundry, -c(TOTAL.PAYMENT, T.DRAWING, TOTAL.INCOME, PROFIT))

#================================
#STATISTICAL ANALYSIS
summary(laundry)
##     samples       weekdays.Date.     months.Date.            DATE           
##  Min.   :  1.00   Length:126         Length:126         Min.   :2021-06-16  
##  1st Qu.: 32.25   Class :character   Class :character   1st Qu.:2021-07-17  
##  Median : 63.50   Mode  :character   Mode  :character   Median :2021-08-17  
##  Mean   : 63.50                                         Mean   :2021-08-17  
##  3rd Qu.: 94.75                                         3rd Qu.:2021-09-17  
##  Max.   :126.00                                         Max.   :2021-10-19  
##      INCOME            PAID           CREDIT          DEBIT       
##  Min.   :   0.0   Min.   :  0.0   Min.   :  0.0   Min.   :   0.0  
##  1st Qu.: 100.0   1st Qu.:  0.0   1st Qu.:  0.0   1st Qu.:   0.0  
##  Median : 245.0   Median : 60.0   Median :140.0   Median :  70.0  
##  Mean   : 306.8   Mean   :127.5   Mean   :179.3   Mean   : 156.3  
##  3rd Qu.: 457.5   3rd Qu.:197.5   3rd Qu.:265.0   3rd Qu.: 270.0  
##  Max.   :1430.0   Max.   :910.0   Max.   :880.0   Max.   :1040.0  
##    P.DRAWING        B.DRAWING         INJECTION      
##  Min.   :   0.0   Min.   :   0.00   Min.   :   0.00  
##  1st Qu.:   0.0   1st Qu.:   0.00   1st Qu.:   0.00  
##  Median : 100.0   Median :   0.00   Median :   0.00  
##  Mean   : 241.1   Mean   :  84.13   Mean   :  37.73  
##  3rd Qu.: 250.0   3rd Qu.:  50.00   3rd Qu.:   0.00  
##  Max.   :4220.0   Max.   :1800.00   Max.   :1000.00
#split
#divide into groups and reassemble
split(laundry, laundry$months.Date.) #divide in terms of months
## $August
##    samples weekdays.Date. months.Date.       DATE INCOME PAID CREDIT DEBIT
## 47      47         Sunday       August 2021-08-01   1140  550    590   300
## 48      48         Monday       August 2021-08-02    570  220    350  1040
## 49      49        Tuesday       August 2021-08-03    470  100    370   480
## 50      50      Wednesday       August 2021-08-04    190   70    120     0
## 51      51       Thursday       August 2021-08-05    120   50     70   270
## 52      52         Friday       August 2021-08-06    550  400    150   370
## 53      53       Saturday       August 2021-08-07    700  500    200   220
## 54      54         Sunday       August 2021-08-08    780  100    680    70
## 55      55         Monday       August 2021-08-09      0    0      0   720
## 56      56        Tuesday       August 2021-08-10    640  420    220     0
## 57      57      Wednesday       August 2021-08-11    350  350      0   270
## 58      58       Thursday       August 2021-08-12    250    0    250   400
## 59      59         Friday       August 2021-08-13    220    0    220     0
## 60      60       Saturday       August 2021-08-14    570  250    320     0
## 61      61         Sunday       August 2021-08-15    640  100    540    70
## 62      62         Monday       August 2021-08-16    120   50     70   150
## 63      63        Tuesday       August 2021-08-17     70    0     70    70
## 64      64      Wednesday       August 2021-08-18      0    0      0     0
## 65      65       Thursday       August 2021-08-19    400  150    250     0
## 66      66         Friday       August 2021-08-20    340  190    150   250
## 67      67       Saturday       August 2021-08-21    520    0    520   140
## 68      68         Sunday       August 2021-08-22   1430  770    660   400
## 69      69         Monday       August 2021-08-23    200    0    200   550
## 70      70        Tuesday       August 2021-08-24    220  220      0    70
## 71      71      Wednesday       August 2021-08-25      0    0      0     0
## 72      72       Thursday       August 2021-08-26      0    0      0     0
## 73      73         Friday       August 2021-08-27    460  100    360     0
## 74      74       Saturday       August 2021-08-28      0    0      0     0
## 75      75         Sunday       August 2021-08-29    100  100      0     0
## 76      76         Monday       August 2021-08-30      0    0      0     0
## 77      77        Tuesday       August 2021-08-31    740  600    140   250
##    P.DRAWING B.DRAWING INJECTION
## 47       250        50         0
## 48       250        50         0
## 49       180       900         0
## 50        50         0         0
## 51        50         0         0
## 52       200         0         0
## 53       200         0         0
## 54       110       100       370
## 55      1370         0         0
## 56       475         0         0
## 57        50         0         4
## 58       500        50         0
## 59         0         0         0
## 60       120        50         0
## 61        40       950         0
## 62        50         0         0
## 63        40         0         0
## 64       100       100         0
## 65         0         0       200
## 66       150       200         0
## 67      1235         0         0
## 68       210         0        40
## 69      1100         0         0
## 70       240        50         0
## 71        10         0         0
## 72       350         0         0
## 73       900        50         0
## 74       120         0         0
## 75         0        50         0
## 76       420        50         0
## 77        50         0         0
## 
## $July
##    samples weekdays.Date. months.Date.       DATE INCOME PAID CREDIT DEBIT
## 16      16       Thursday         July 2021-07-01      0    0      0     0
## 17      17         Friday         July 2021-07-02    380    0    380   320
## 18      18       Saturday         July 2021-07-03    980  910     70   510
## 19      19         Sunday         July 2021-07-04    320   70    250   150
## 20      20         Monday         July 2021-07-05    200  200      0     0
## 21      21        Tuesday         July 2021-07-06    400  150    250     0
## 22      22      Wednesday         July 2021-07-07    500  250    250     0
## 23      23       Thursday         July 2021-07-08    190   50    140     0
## 24      24         Friday         July 2021-07-09      0    0      0     0
## 25      25       Saturday         July 2021-07-10    290   70    220   440
## 26      26         Sunday         July 2021-07-11    450  450      0     0
## 27      27         Monday         July 2021-07-12      0    0      0   250
## 28      28        Tuesday         July 2021-07-13     70   70      0     0
## 29      29      Wednesday         July 2021-07-14    200  200      0     0
## 30      30       Thursday         July 2021-07-15    620    0    620   260
## 31      31         Friday         July 2021-07-16    350  350      0     0
## 32      32       Saturday         July 2021-07-17    650  200    450     0
## 33      33         Sunday         July 2021-07-18    170    0    170     0
## 34      34         Monday         July 2021-07-19    330  330      0   450
## 35      35        Tuesday         July 2021-07-20    910  100    810   210
## 36      36      Wednesday         July 2021-07-21    150    0    150   150
## 37      37       Thursday         July 2021-07-22    120   70     50   460
## 38      38         Friday         July 2021-07-23    470  150    320   300
## 39      39       Saturday         July 2021-07-24    280    0    280   150
## 40      40         Sunday         July 2021-07-25      0    0      0     0
## 41      41         Monday         July 2021-07-26    540  470     70   140
## 42      42        Tuesday         July 2021-07-27    400    0    400   340
## 43      43      Wednesday         July 2021-07-28    140    0    140    30
## 44      44       Thursday         July 2021-07-29    250    0    250   340
## 45      45         Friday         July 2021-07-30    400    0    400   340
## 46      46       Saturday         July 2021-07-31    840  340    500   140
##    P.DRAWING B.DRAWING INJECTION
## 16         0         0         0
## 17       750        50         0
## 18       200      1800         0
## 19       160        50       750
## 20       300         0         0
## 21         0         0         0
## 22         0        50         0
## 23       200         0         0
## 24         0         0         0
## 25       210        50        30
## 26       100         0         0
## 27       500        50         0
## 28         0         0         0
## 29       170       150       100
## 30        40         0       100
## 31         0         0         0
## 32         0        50         0
## 33       200         0         0
## 34       910        50         0
## 35         0       850         0
## 36       100         0        20
## 37       930        50        40
## 38       100       100         0
## 39       120         0         0
## 40         0         0         0
## 41       490        50       750
## 42       409         0      1000
## 43      4220         0       100
## 44         0         0         0
## 45       100         0         0
## 46       140         0       200
## 
## $June
##    samples weekdays.Date. months.Date.       DATE INCOME PAID CREDIT DEBIT
## 1        1      Wednesday         June 2021-06-16    470  470      0   100
## 2        2       Thursday         June 2021-06-17     70   70      0   360
## 3        3         Friday         June 2021-06-18    170   70    100   200
## 4        4       Saturday         June 2021-06-19    270  120    150     0
## 5        5         Sunday         June 2021-06-20    170   70    100   250
## 6        6         Monday         June 2021-06-21      0    0      0     0
## 7        7        Tuesday         June 2021-06-22    340  340      0     0
## 8        8      Wednesday         June 2021-06-23     70   70      0     0
## 9        9       Thursday         June 2021-06-24    220   70    150     0
## 10      10         Friday         June 2021-06-25    350    0    350     0
## 11      11       Saturday         June 2021-06-26      0    0      0     0
## 12      12         Sunday         June 2021-06-27    150    0    150     0
## 13      13         Monday         June 2021-06-28    390    0    390   150
## 14      14        Tuesday         June 2021-06-29      0    0      0   350
## 15      15      Wednesday         June 2021-06-30    600  600      0   150
##    P.DRAWING B.DRAWING INJECTION
## 1          0       800       600
## 2          0         0         0
## 3        160         0         0
## 4         60         0         0
## 5         90        50         0
## 6        300         0         0
## 7          0         0         0
## 8        100        70         0
## 9        300         0         0
## 10         0        50         0
## 11         0         0         0
## 12       100         0         0
## 13         0       100         0
## 14       150         0         0
## 15       150         0         0
## 
## $October
##     samples weekdays.Date. months.Date.       DATE INCOME PAID CREDIT DEBIT
## 108     108         Friday      October 2021-10-01    300  300      0     0
## 109     109       Saturday      October 2021-10-02    100    0    100     0
## 110     110         Sunday      October 2021-10-03    220    0    220   350
## 111     111         Monday      October 2021-10-04      0    0      0     0
## 112     112        Tuesday      October 2021-10-05    450    0    450     0
## 113     113      Wednesday      October 2021-10-06    220  220      0   240
## 114     114       Thursday      October 2021-10-07    120   50     70     0
## 115     115         Friday      October 2021-10-08     70   70      0     0
## 116     116       Saturday      October 2021-10-09     70   50     20     0
## 117     117         Sunday      October 2021-10-10    670  370    300     0
## 118     118         Monday      October 2021-10-11      0    0      0     0
## 119     119        Tuesday      October 2021-10-12    190  140     50     0
## 120     120      Wednesday      October 2021-10-13    270    0    270    70
## 121     121       Thursday      October 2021-10-14    300  200    100   200
## 122     122         Friday      October 2021-10-15      0    0      0     0
## 123     123       Saturday      October 2021-10-16    100  100      0   100
## 124     124         Sunday      October 2021-10-17    290   70    220     0
## 125     125         Monday      October 2021-10-18    220    0    220     0
## 126     126        Tuesday      October 2021-10-19    140   70     70   150
##     P.DRAWING B.DRAWING INJECTION
## 108         0         0         0
## 109      1100         0         0
## 110        50         0         0
## 111       600         0         0
## 112        40        70         0
## 113       335       900         0
## 114         0         0         0
## 115         0        50         0
## 116         0        50         0
## 117        40        50         0
## 118         0         0         0
## 119         0         0         0
## 120        20        20         0
## 121         0         0         0
## 122        40         0         0
## 123       100        50         0
## 124      1000         0         0
## 125       500         0         0
## 126        40         0         0
## 
## $September
##     samples weekdays.Date. months.Date.       DATE INCOME PAID CREDIT DEBIT
## 78       78      Wednesday    September 2021-09-01    820  370    450     0
## 79       79       Thursday    September 2021-09-02      0    0      0     0
## 80       80         Friday    September 2021-09-03    670  470    200   500
## 81       81       Saturday    September 2021-09-04    540  420    120     0
## 82       82         Sunday    September 2021-09-05    290    0    290     0
## 83       83         Monday    September 2021-09-06    210  140     70    50
## 84       84        Tuesday    September 2021-09-07      0    0      0     0
## 85       85      Wednesday    September 2021-09-08      0    0      0     0
## 86       86       Thursday    September 2021-09-09    570  140    430   350
## 87       87         Friday    September 2021-09-10      0    0      0   180
## 88       88       Saturday    September 2021-09-11   1050  170    880     0
## 89       89         Sunday    September 2021-09-12    470    0    470   620
## 90       90         Monday    September 2021-09-13      0    0      0   410
## 91       91        Tuesday    September 2021-09-14      0    0      0   150
## 92       92      Wednesday    September 2021-09-15     70   70      0   270
## 93       93       Thursday    September 2021-09-16    210  140     70     0
## 94       94         Friday    September 2021-09-17    640    0    640     0
## 95       95       Saturday    September 2021-09-18    250    0    250     0
## 96       96         Sunday    September 2021-09-19      0    0      0     0
## 97       97         Monday    September 2021-09-20    450    0    450   680
## 98       98        Tuesday    September 2021-09-21    200    0    200   450
## 99       99      Wednesday    September 2021-09-22    410   40    370   350
## 100     100       Thursday    September 2021-09-23    740  670     70   250
## 101     101         Friday    September 2021-09-24    240    0    240    70
## 102     102       Saturday    September 2021-09-25    400    0    400     0
## 103     103         Sunday    September 2021-09-26      0    0      0   120
## 104     104         Monday    September 2021-09-27    250    0    250   350
## 105     105        Tuesday    September 2021-09-28    400  200    200   350
## 106     106      Wednesday    September 2021-09-29    170    0    170   810
## 107     107       Thursday    September 2021-09-30    220    0    220     0
##     P.DRAWING B.DRAWING INJECTION
## 78        100         0         0
## 79        300         0         0
## 80       1022       350       150
## 81        160         0         0
## 82       1100         0         0
## 83        300         0       300
## 84         40         0         0
## 85        100         0         0
## 86          0       900         0
## 87          0         0         0
## 88          0         0         0
## 89          0         0         0
## 90        300        50         0
## 91        920         0         0
## 92          0         0         0
## 93        150        50         0
## 94          0         0         0
## 95          0         0         0
## 96          0         0         0
## 97          0         0         0
## 98        100         0         0
## 99          0       900         0
## 100         0         0         0
## 101       150         0         0
## 102         0         0         0
## 103         0         0         0
## 104       506        90         0
## 105        90         0         0
## 106       100         0         0
## 107       500         0         0
#months
june <- split(laundry, laundry$months.Date.)[["June"]] #data for june
july <- split(laundry, laundry$months.Date.)[["July"]]
aug <- split(laundry, laundry$months.Date.)[["August"]]
sept <- split(laundry, laundry$months.Date.)[["September"]]
oct <- split(laundry, laundry$months.Date.)[["October"]]
days <- as.numeric(format(Date,"%d"))
#visualization
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.1
ggplot(laundry, aes(x = samples,
                    y = INCOME))+
  geom_area(fill = "blue")+
  geom_abline(color = "red")+
  labs(x = "Date",
       y = "Income",
       title = "HAPPY LAUNDRY INCOME")