2017-01-21 14 views
0

행렬 C를 찾기 위해 R에서 간단한 행렬 연산을 수행하려면 어떻게해야합니까?R : 각 행에서 A [i,] 빼기 B [i,]

A = (a11 a12 a13) B = (b1) C = (a11-b1 a12-b1 a13-b1) 
    (a21 a22 a23)  (b2)  (a21-b2 a22-b2 a23-b2) 
    (a31 a32 a33)  (b3)  (a31-b3 a32-b3 a33-b3) 

감사합니다. 매우 감사!

a=matrix(c(1:9), nrow = 3, ncol = 3) 
b=matrix(c(1:3),nrow = 3,ncol = 1) 
ans=c() 
for(i in 1:ncol(a)){ 
ans=c(ans,a[,i]-b[,1]) 
} 
final=matrix(ans,nrow = 3,ncol = 3) 

위의 코드를 실행 한 결과는 다음과 생산 : : :

답변

1

다음은 솔루션이

> a 
     [,1] [,2] [,3] 
[1,] 1 4 7 
[2,] 2 5 8 
[3,] 3 6 9 
> b 
     [,1] 
[1,] 1 
[2,] 2 
[3,] 3 
> final 
     [,1] [,2] [,3] 
[1,] 0 3 6 
[2,] 0 3 6 
[3,] 0 3 6 

희망을

+0

완벽! 감사! – Sebbe

2

간단히 A

에서 B을 빼기 당신 :) 작동
A = matrix(c(1:9),3,3) 
A 
#  [,1] [,2] [,3] 
#[1,] 1 4 7 
#[2,] 2 5 8 
#[3,] 3 6 9 
B = c(1:3) 
B 
#  [,1] 
#[1,] 1 
#[2,] 2 
#[3,] 3 
C= A - B 
C 
#  [,1] [,2] [,3] 
#[1,] 0 3 6 
#[2,] 0 3 6 
#[3,] 0 3 6