Como calcular essa soma em R?
Nov 26 2020
Se tivermos um conjunto de dados onde $x_{ij}$de matriz de tamanho 4 por 3, i = 1,2,3,4 ej = 1,2,3. y_i é um vetor e z_ {ij} também é uma matriz 4 por 3.
a1=c(1,0,1, 2)
a2=c(2,2,1, 2)
a3=c(1,3,2,3)
a4=c(-1,0,-1,-1)
x <- cbind(a1, a2, a3)
y <- c(1,2,3,2)
z<-cbind(a2, a3,a4)
Respostas
1 BenjaminChristoffersen Nov 26 2020 at 21:26
Eu acho que isso vai servir:
z1 <- z[1, ]
vapply(
seq_along(z1), function(j)
drop((y - x[, -j] %*% z1[-j])) %*% x[, j],
numeric(1))
#R> [1] 10 15 -15
e uma versão for loop é:
out <- numeric(3)
for(j in 1:3)
for(i in 1:4){
f1 <- y[i]
for(k in setdiff(1:3, j))
f1 <- f1 - x[i, k] * z[1, k]
out[j] <- out[j] + f1 * x[i, j]
}
out
#R> [1] 10 15 -15
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas