library(readxl)
dataregresisederhana <- read_excel("D:/Mas/Kuliah/dataregresisederhana.xlsx")

head(dataregresisederhana)
## # A tibble: 6 x 14
##      A1    A2    A3    A4    A5     A    B1    B2    B3     B    C1    C2    C3
##   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1     5     5     6     6     6    28     6     6     6    18     6     6     6
## 2     3     2     2     2     3    12     4     4     3    11     2     4     3
## 3     2     2     2     3     3    12     3     4     4    11     5     5     4
## 4     3     3     2     3     3    14     4     3     3    10     3     4     3
## 5     6     6     5     6     6    29     6     6     6    18     6     6     5
## 6     3     3     1     2     4    13     3     3     3     9     3     3     3
## # ... with 1 more variable: C <dbl>
library(ggplot2)

ggplot(data=dataregresisederhana, aes(dataregresisederhana$A1)) +
  geom_histogram(aes(y =..density..), fill = "blue") +
  geom_density()
## Warning: Use of `dataregresisederhana$A1` is discouraged. Use `A1` instead.
## Use of `dataregresisederhana$A1` is discouraged. Use `A1` instead.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

library(psych)
## 
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
psych::describe(dataregresisederhana)
##    vars   n  mean   sd median trimmed  mad min max range  skew kurtosis   se
## A1    1 145  4.28 1.22      4    4.31 1.48   1   6     5 -0.35    -0.36 0.10
## A2    2 145  4.23 1.22      4    4.28 1.48   1   6     5 -0.35    -0.37 0.10
## A3    3 145  4.07 1.28      4    4.14 1.48   1   6     5 -0.48    -0.32 0.11
## A4    4 145  4.08 1.31      4    4.15 1.48   1   6     5 -0.32    -0.46 0.11
## A5    5 145  4.17 1.34      4    4.27 1.48   1   6     5 -0.57    -0.17 0.11
## A     6 145 20.83 5.35     22   21.04 4.45   5  30    25 -0.54     0.31 0.44
## B1    7 145  4.47 1.05      4    4.50 1.48   1   6     5 -0.20    -0.31 0.09
## B2    8 145  4.54 1.07      5    4.57 1.48   1   6     5 -0.37    -0.44 0.09
## B3    9 145  4.53 1.14      5    4.59 1.48   1   6     5 -0.44    -0.51 0.09
## B    10 145 13.54 2.95     14   13.62 2.97   3  18    15 -0.36    -0.02 0.24
## C1   11 145  4.46 1.15      4    4.51 1.48   1   6     5 -0.43    -0.22 0.10
## C2   12 145  4.57 1.17      5    4.65 1.48   1   6     5 -0.44    -0.49 0.10
## C3   13 145  4.57 1.18      5    4.65 1.48   1   6     5 -0.53    -0.30 0.10
## C    14 145 13.60 3.25     14   13.78 2.97   3  18    15 -0.52    -0.13 0.27
model <- lm(dataregresisederhana)

res <- resid(model)

plot(fitted(model), res)

abline(0,0)

qqnorm(res)

qqline(res)

plot(density(res))

model
## 
## Call:
## lm(formula = dataregresisederhana)
## 
## Coefficients:
## (Intercept)           A2           A3           A4           A5            A  
##   3.540e-15   -1.000e+00   -1.000e+00   -1.000e+00   -1.000e+00    1.000e+00  
##          B1           B2           B3            B           C1           C2  
##  -1.586e-17    1.110e-16   -2.471e-16           NA   -6.232e-16    4.496e-17  
##          C3            C  
##   3.549e-16           NA
names(model)
##  [1] "coefficients"  "residuals"     "effects"       "rank"         
##  [5] "fitted.values" "assign"        "qr"            "df.residual"  
##  [9] "xlevels"       "call"          "terms"         "model"
plot(model$model)

model$coef
##   (Intercept)            A2            A3            A4            A5 
##  3.540442e-15 -1.000000e+00 -1.000000e+00 -1.000000e+00 -1.000000e+00 
##             A            B1            B2            B3             B 
##  1.000000e+00 -1.586419e-17  1.110097e-16 -2.470830e-16            NA 
##            C1            C2            C3             C 
## -6.231552e-16  4.496287e-17  3.548751e-16            NA
attributes(model)
## $names
##  [1] "coefficients"  "residuals"     "effects"       "rank"         
##  [5] "fitted.values" "assign"        "qr"            "df.residual"  
##  [9] "xlevels"       "call"          "terms"         "model"        
## 
## $class
## [1] "lm"
round(summary(model)$coef, 3)
##             Estimate Std. Error       t value Pr(>|t|)
## (Intercept)        0          0  1.780000e+00    0.077
## A2                -1          0 -1.127483e+15    0.000
## A3                -1          0 -1.299211e+15    0.000
## A4                -1          0 -1.410790e+15    0.000
## A5                -1          0 -1.576958e+15    0.000
## A                  1          0  2.060108e+15    0.000
## B1                 0          0 -2.500000e-02    0.980
## B2                 0          0  1.730000e-01    0.863
## B3                 0          0 -3.940000e-01    0.694
## C1                 0          0 -9.950000e-01    0.322
## C2                 0          0  6.300000e-02    0.950
## C3                 0          0  5.000000e-01    0.618
crime.lm.coef <- round(summary(model)$coef, 3)

class(crime.lm.coef)
## [1] "matrix" "array"
attributes(crime.lm.coef)
## $dim
## [1] 12  4
## 
## $dimnames
## $dimnames[[1]]
##  [1] "(Intercept)" "A2"          "A3"          "A4"          "A5"         
##  [6] "A"           "B1"          "B2"          "B3"          "C1"         
## [11] "C2"          "C3"         
## 
## $dimnames[[2]]
## [1] "Estimate"   "Std. Error" "t value"    "Pr(>|t|)"
plot(model)

diamonds.lm <- lm(A ~ A1 + A2 + A3 + A4 + A5, data = dataregresisederhana)

plot(diamonds.lm)