# --- Baca data CSV ---
df <- read.csv("C:/Users/ACER/Downloads/Quiz 1 Komstat (3)/data_quiz1.csv")

# Ambil variabel
X <- as.matrix(df[, c("x1", "x2", "x3")])
w <- df$w

# --- [a] Fungsi weighted correlation ---

weighted_corr <- function(X, w) {
  
  X <- as.matrix(X)
  n <- nrow(X)
  
  # Matriks bobot
  W <- diag(w)
  
  # Vektor satuan
  one_n <- matrix(1, nrow = n, ncol = 1)
  
  # Total bobot
  nw <- as.numeric(t(one_n) %*% w)
  
  # Mean tertimbang
  x_bar_w <- (1 / nw) * t(X) %*% W %*% one_n
  
  # Deviasi
  D <- X - (one_n %*% t(x_bar_w))
  
  # Matriks kovarians tertimbang
  S_w <- (1 / nw) * t(D) %*% W %*% D
  
  # Standar deviasi tertimbang
  s_w <- sqrt(diag(S_w))
  
  # Matriks korelasi tertimbang
  V_inv <- diag(1 / s_w)
  R_w <- V_inv %*% S_w %*% V_inv
  
  return(list(
    W = W,
    mean_w = x_bar_w,
    S_w = S_w,
    s_w = s_w,
    R_w = R_w
  ))
}

# --- [b] Aplikasikan fungsi pada data ---

hasil <- weighted_corr(X, w)

# --- Tampilkan hasil ---

cat("Matriks Bobot (W):\n")
Matriks Bobot (W):
print(hasil$W)
       [,1]  [,2]  [,3]  [,4]  [,5]  [,6]  [,7]  [,8]  [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17]
 [1,] 14.34  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [2,]  0.00 14.19  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [3,]  0.00  0.00 12.49  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [4,]  0.00  0.00  0.00 11.45  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [5,]  0.00  0.00  0.00  0.00 17.45  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [6,]  0.00  0.00  0.00  0.00  0.00 15.24  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [7,]  0.00  0.00  0.00  0.00  0.00  0.00 34.73  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [8,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00 17.97  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
 [9,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 33.13  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[10,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 35.93  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[11,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 15.55  0.00  0.00  0.00  0.00  0.00   0.0
[12,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 16.54  0.00  0.00  0.00  0.00   0.0
[13,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 17.25  0.00  0.00  0.00   0.0
[14,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 14.93  0.00  0.00   0.0
[15,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  7.24  0.00   0.0
[16,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  9.85   0.0
[17,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  11.1
[18,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[19,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[20,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[21,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[22,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[23,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[24,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[25,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
[26,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00   0.0
      [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34]
 [1,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [2,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [3,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [4,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [5,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [6,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [7,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [8,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 [9,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[10,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[11,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[12,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[13,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[14,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[15,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[16,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[17,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[18,] 12.89  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[19,]  0.00 11.14  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[20,]  0.00  0.00  7.06  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[21,]  0.00  0.00  0.00 13.96  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[22,]  0.00  0.00  0.00  0.00 23.13  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[23,]  0.00  0.00  0.00  0.00  0.00 19.74  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[24,]  0.00  0.00  0.00  0.00  0.00  0.00 17.53  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[25,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00 12.56  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
[26,]  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 13.01  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
      [,35] [,36] [,37] [,38]
 [1,]   0.0  0.00  0.00  0.00
 [2,]   0.0  0.00  0.00  0.00
 [3,]   0.0  0.00  0.00  0.00
 [4,]   0.0  0.00  0.00  0.00
 [5,]   0.0  0.00  0.00  0.00
 [6,]   0.0  0.00  0.00  0.00
 [7,]   0.0  0.00  0.00  0.00
 [8,]   0.0  0.00  0.00  0.00
 [9,]   0.0  0.00  0.00  0.00
[10,]   0.0  0.00  0.00  0.00
[11,]   0.0  0.00  0.00  0.00
[12,]   0.0  0.00  0.00  0.00
[13,]   0.0  0.00  0.00  0.00
[14,]   0.0  0.00  0.00  0.00
[15,]   0.0  0.00  0.00  0.00
[16,]   0.0  0.00  0.00  0.00
[17,]   0.0  0.00  0.00  0.00
[18,]   0.0  0.00  0.00  0.00
[19,]   0.0  0.00  0.00  0.00
[20,]   0.0  0.00  0.00  0.00
[21,]   0.0  0.00  0.00  0.00
[22,]   0.0  0.00  0.00  0.00
[23,]   0.0  0.00  0.00  0.00
[24,]   0.0  0.00  0.00  0.00
[25,]   0.0  0.00  0.00  0.00
[26,]   0.0  0.00  0.00  0.00
 [ reached 'max' / getOption("max.print") -- omitted 12 rows ]
cat("\nMean tertimbang:\n")

Mean tertimbang:
print(hasil$mean_w)
       [,1]
x1 73.88530
x2 65.39059
x3 17.00938
cat("\nMatriks Varians-Kovarians tertimbang (S_w):\n")

Matriks Varians-Kovarians tertimbang (S_w):
print(hasil$S_w)
          x1        x2        x3
x1  38.16362 -37.75105 -27.15386
x2 -37.75105  41.10767  29.16587
x3 -27.15386  29.16587  21.14757
cat("\nStandar Deviasi tertimbang:\n")

Standar Deviasi tertimbang:
print(hasil$s_w)
      x1       x2       x3 
6.177671 6.411527 4.598649 
cat("\nMatriks Korelasi tertimbang (R_w):\n")

Matriks Korelasi tertimbang (R_w):
print(hasil$R_w)
           [,1]       [,2]       [,3]
[1,]  1.0000000 -0.9531095 -0.9558207
[2,] -0.9531095  1.0000000  0.9891979
[3,] -0.9558207  0.9891979  1.0000000
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCmBgYHtyfQ0KIyAtLS0gQmFjYSBkYXRhIENTViAtLS0NCmRmIDwtIHJlYWQuY3N2KCJDOi9Vc2Vycy9BQ0VSL0Rvd25sb2Fkcy9RdWl6IDEgS29tc3RhdCAoMykvZGF0YV9xdWl6MS5jc3YiKQ0KDQojIEFtYmlsIHZhcmlhYmVsDQpYIDwtIGFzLm1hdHJpeChkZlssIGMoIngxIiwgIngyIiwgIngzIildKQ0KdyA8LSBkZiR3DQoNCiMgLS0tIFthXSBGdW5nc2kgd2VpZ2h0ZWQgY29ycmVsYXRpb24gLS0tDQoNCndlaWdodGVkX2NvcnIgPC0gZnVuY3Rpb24oWCwgdykgew0KICANCiAgWCA8LSBhcy5tYXRyaXgoWCkNCiAgbiA8LSBucm93KFgpDQogIA0KICAjIE1hdHJpa3MgYm9ib3QNCiAgVyA8LSBkaWFnKHcpDQogIA0KICAjIFZla3RvciBzYXR1YW4NCiAgb25lX24gPC0gbWF0cml4KDEsIG5yb3cgPSBuLCBuY29sID0gMSkNCiAgDQogICMgVG90YWwgYm9ib3QNCiAgbncgPC0gYXMubnVtZXJpYyh0KG9uZV9uKSAlKiUgdykNCiAgDQogICMgTWVhbiB0ZXJ0aW1iYW5nDQogIHhfYmFyX3cgPC0gKDEgLyBudykgKiB0KFgpICUqJSBXICUqJSBvbmVfbg0KICANCiAgIyBEZXZpYXNpDQogIEQgPC0gWCAtIChvbmVfbiAlKiUgdCh4X2Jhcl93KSkNCiAgDQogICMgTWF0cmlrcyBrb3ZhcmlhbnMgdGVydGltYmFuZw0KICBTX3cgPC0gKDEgLyBudykgKiB0KEQpICUqJSBXICUqJSBEDQogIA0KICAjIFN0YW5kYXIgZGV2aWFzaSB0ZXJ0aW1iYW5nDQogIHNfdyA8LSBzcXJ0KGRpYWcoU193KSkNCiAgDQogICMgTWF0cmlrcyBrb3JlbGFzaSB0ZXJ0aW1iYW5nDQogIFZfaW52IDwtIGRpYWcoMSAvIHNfdykNCiAgUl93IDwtIFZfaW52ICUqJSBTX3cgJSolIFZfaW52DQogIA0KICByZXR1cm4obGlzdCgNCiAgICBXID0gVywNCiAgICBtZWFuX3cgPSB4X2Jhcl93LA0KICAgIFNfdyA9IFNfdywNCiAgICBzX3cgPSBzX3csDQogICAgUl93ID0gUl93DQogICkpDQp9DQoNCiMgLS0tIFtiXSBBcGxpa2FzaWthbiBmdW5nc2kgcGFkYSBkYXRhIC0tLQ0KDQpoYXNpbCA8LSB3ZWlnaHRlZF9jb3JyKFgsIHcpDQoNCiMgLS0tIFRhbXBpbGthbiBoYXNpbCAtLS0NCg0KY2F0KCJNYXRyaWtzIEJvYm90IChXKTpcbiIpDQpwcmludChoYXNpbCRXKQ0KDQpjYXQoIlxuTWVhbiB0ZXJ0aW1iYW5nOlxuIikNCnByaW50KGhhc2lsJG1lYW5fdykNCg0KY2F0KCJcbk1hdHJpa3MgVmFyaWFucy1Lb3ZhcmlhbnMgdGVydGltYmFuZyAoU193KTpcbiIpDQpwcmludChoYXNpbCRTX3cpDQoNCmNhdCgiXG5TdGFuZGFyIERldmlhc2kgdGVydGltYmFuZzpcbiIpDQpwcmludChoYXNpbCRzX3cpDQoNCmNhdCgiXG5NYXRyaWtzIEtvcmVsYXNpIHRlcnRpbWJhbmcgKFJfdyk6XG4iKQ0KcHJpbnQoaGFzaWwkUl93KQ0KYGBgDQoNCg==