X = cbind(c(1,2,3))
X
##      [,1]
## [1,]    1
## [2,]    2
## [3,]    3
Y = cbind(c(4,5,6))
Y
##      [,1]
## [1,]    4
## [2,]    5
## [3,]    6
t(X) %*% Y
##      [,1]
## [1,]   32
solve(t(X) %*% X)%*%t(X) %*% Y
##          [,1]
## [1,] 2.285714
Dogrusal_reg <- function(X, Y)
  solve(t(X) %*% X)%*%t(X) %*% Y
Dogrusal_reg(X=X, Y=Y)
##          [,1]
## [1,] 2.285714
library(wooldridge)
data("bwght")
Xler = cbind(bwght$cigs, bwght$faminc)
head(Xler)
##      [,1] [,2]
## [1,]    0 13.5
## [2,]    0  7.5
## [3,]    0  0.5
## [4,]    0 15.5
## [5,]    0 27.5
## [6,]    0  7.5
Xler = cbind(bwght$cigs, bwght$faminc, c(rep(1, nrow(bwght))))
head(Xler)
##      [,1] [,2] [,3]
## [1,]    0 13.5    1
## [2,]    0  7.5    1
## [3,]    0  0.5    1
## [4,]    0 15.5    1
## [5,]    0 27.5    1
## [6,]    0  7.5    1
Y = cbind(bwght$bwght)
head(Y)
##      [,1]
## [1,]  109
## [2,]  133
## [3,]  129
## [4,]  126
## [5,]  134
## [6,]  118
Dogrusal_reg(X=Xler, Y=Y)
##              [,1]
## [1,]  -0.46340754
## [2,]   0.09276474
## [3,] 116.97413048
lm(bwght$bwght ~ bwght$cigs + bwght$faminc)
## 
## Call:
## lm(formula = bwght$bwght ~ bwght$cigs + bwght$faminc)
## 
## Coefficients:
##  (Intercept)    bwght$cigs  bwght$faminc  
##    116.97413      -0.46341       0.09276
summary(lm(bwght$bwght ~ bwght$cigs + bwght$faminc))
## 
## Call:
## lm(formula = bwght$bwght ~ bwght$cigs + bwght$faminc)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -96.061 -11.543   0.638  13.126 150.083 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  116.97413    1.04898 111.512  < 2e-16 ***
## bwght$cigs    -0.46341    0.09158  -5.060 4.75e-07 ***
## bwght$faminc   0.09276    0.02919   3.178  0.00151 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 20.06 on 1385 degrees of freedom
## Multiple R-squared:  0.0298, Adjusted R-squared:  0.0284 
## F-statistic: 21.27 on 2 and 1385 DF,  p-value: 7.942e-10
Dogrusal_reg_se <- function(X, Y)
  sqrt(as.numeric(var(Y - X%*%solve(t(X) %*% X)%*%t(X) %*% Y))*solve(t(X) %*% X))
Dogrusal_reg_se(X=Xler, Y=Y)
## Warning in sqrt(as.numeric(var(Y - X %*% solve(t(X) %*% X) %*% t(X) %*% : NaNs
## üretimi
##            [,1]       [,2]     [,3]
## [1,] 0.09151077 0.02149117      NaN
## [2,] 0.02149117 0.02916682      NaN
## [3,]        NaN        NaN 1.048228
dr <- function(X, Y) {
  A <- solve(t(X) %*% X)%*%t(X) %*% Y
  B <- diag(sqrt(as.numeric(t(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))%*%(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))/(nrow(Y)-1))*solve(t(X) %*% X)))
  result <- list(t(A), B)
  names(result) <- c("katsayılar", "Standart Hatalar")
  suppressMessages(return(result))
}
dr(X=Xler, Y=Y)
## Warning in sqrt(as.numeric(t(Y - as.numeric(t(Y) %*% rep(1, nrow(Y))/nrow(Y)))
## %*% : NaNs üretimi
## $katsayılar
##            [,1]       [,2]     [,3]
## [1,] -0.4634075 0.09276474 116.9741
## 
## $`Standart Hatalar`
## [1] 0.09290577 0.02961144 1.06420678
dr <- function(X, Y) {
  A <- solve(t(X) %*% X)%*%t(X) %*% Y
  B <- diag(sqrt(as.numeric(t(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))%*%(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))/(nrow(Y)-1))*solve(t(X) %*% X)))
  C <- t(A)/B
  D <- 1-pt(abs(C), nrow(X) - ncol(X) - 1)
  result <- list(t(A), B, C, D)
  names(result) <- c("katsayılar", "Standart Hatalar", "t değerleri", "pr (-t < & > t)")
  suppressMessages(return(result))
}
dr(X=Xler, Y=Y)
## Warning in sqrt(as.numeric(t(Y - as.numeric(t(Y) %*% rep(1, nrow(Y))/nrow(Y)))
## %*% : NaNs üretimi
## $katsayılar
##            [,1]       [,2]     [,3]
## [1,] -0.4634075 0.09276474 116.9741
## 
## $`Standart Hatalar`
## [1] 0.09290577 0.02961144 1.06420678
## 
## $`t değerleri`
##           [,1]     [,2]     [,3]
## [1,] -4.987931 3.132733 109.9167
## 
## $`pr (-t < & > t)`
##              [,1]        [,2] [,3]
## [1,] 3.437984e-07 0.000884092    0