
Estou tentando fazer uns exercícios de outro programa no R. Como multiplico a matrix com o vetor? sendo que %*% multiplica matrizes............ sendo a matrix XPXINV: 6.867140 -2.001685 -2.001685 0.03283 proc IML MSE = 19.125957; /* Quadrado medio do erro */ varb = xpxinv*mse; /* 'Matriz de covariancia das estimativas de beta*/ Desde já agradeço ao pessoal da lista Ricardo Pereira

um vetor e' simplesmente uma matriz de uma coluna... entao %*% funciona do mesmo jeito

Benilton, tentei anteriormente com o %*%, mas retorna o seguinte ERRO: * Erro em xpxinv %*% MSE : argumentos não compatíveis* Obrigado Ricardo

veja o que os seguintes comandos retornam is.matrix(xpinv) dim(xpinv) dim(MSE) length(MSE) e verifique se as dimansoes sao compativeis On Tue, 23 Aug 2011, Ricardo Pereira wrote:
Benilton, tentei anteriormente com o %*%, mas retorna o seguinte ERRO:
Erro em xpxinv %*% MSE : argumentos não compatíveis
Obrigado
Ricardo

MSE e' um escalar... nesse caso, use apenas "*" (sem aspas, obvio... e' o simbolo de multiplicacao) :) b

(tudo teria sido facilmente resolvido com um exemplo reproduzivel) xpxinv * as.numeric(MSE)

ok substitua MSE por drop(MSE) para reduzir a dimensao (no caso a escalar) e use o "*" cf Benilton explicou On Tue, 23 Aug 2011, Ricardo Pereira wrote:
Benilton, mesmo com apenas"*"(sem aspas, óbvio....) Erro em xpxinv * MSE : arrays de dimensão não compatível Paulo,
abaixo o retorno dos comandos:
is.matrix(xpxinv) [1] TRUE dim(xpxinv) [1] 2 2
dim(MSE) [1] 1 1 length(MSE) [1] 1

Obrigado Paulo solucionado das duas formas, tanto com *as.numeric()* como com *drop()*. Att, Ricardo
participantes (3)
-
Benilton Carvalho
-
Paulo Justiniano
-
Ricardo Pereira