Warning: package 'ppcor' was built under R version 4.4.2
Cargando paquete requerido: MASS
# Crear el DataFrame directamente desde los datosdata <-read.delim("invest.txt")# Calcular la matriz de correlaciones parciales directamenteP <-pcor(data)$estimate# Imprimir la matriz de correlaciones parcialescat("Matriz de Correlaciones Parciales para invest.txt:\n")
Matriz de Correlaciones Parciales para invest.txt:
print(round(P, 2)) # Redondear a 2 decimales para legibilidad
# Calcular la matriz de varianzas y covarianzas (S)S = data.cov()# Calcular la inversa de la matriz de varianzas y covarianzas (S^-1)S_inv = np.linalg.inv(S.values)# Extraer los elementos diagonales de S^-1S_inv_diag = np.diag(S_inv)# Calcular la matriz de correlaciones parciales (P) de manera vectorizadaP =-S_inv / np.sqrt(np.outer(S_inv_diag, S_inv_diag))np.fill_diagonal(P, 1) # Establecer la diagonal principal en 1# Convertir a DataFrame para formato legibleP_df = pd.DataFrame(P, columns=data.columns, index=data.columns)# Imprimir la matriz de correlaciones parcialesprint("Matriz de Correlaciones Parciales para invest.txt:")
Matriz de Correlaciones Parciales para invest.txt:
print(P_df.round(2)) # Redondear a 2 decimales para legibilidad
# Crear el DataFrame directamente desde los datosdata <-read.delim("invest.txt")
# Calcular la matriz de covarianzas (S)S <-cov(data)
# Calcular la inversa de la matriz de covarianzas (S^-1)S_inv <-solve(S)
# Extraer los elementos diagonales de S^-1S_inv_diag <-diag(S_inv)
# Calcular la matriz de correlaciones parciales (P) de manera vectorizadaP <--S_inv /sqrt(tcrossprod(S_inv_diag))diag(P) <-1# Establecer la diagonal principal en 1
# Asignar nombres a las filas y columnascolnames(P) <-colnames(data)rownames(P) <-colnames(data)
# Imprimir la matriz de correlaciones parcialescat("Matriz de Correlaciones Parciales para invest.txt:\n")
Matriz de Correlaciones Parciales para invest.txt:
print(round(P, 2)) # Redondear a 2 decimales para legibilidad