2017-01-28 1 views
2

내가 작업중인 프로젝트에 대해 R에서 논리 행렬을 생성해야합니다. 대각선은 TRUE 나머지는 거짓이어야합니다. 2x2 매트릭스의 경우 간단했습니다.에서 논리 행렬을 생성하십시오

d_matrix=matrix(c(TRUE, FALSE, FALSE,TRUE),nrow=2,byrow=TRUE) 
d_matrix 
     [,1] [,2] 
[1,] TRUE FALSE 
[2,] FALSE TRUE 
    n=20 
    diag_mat=diag(TRUE,n) 

이제 모든 n에 대해 논리적 매트릭스가 필요한 문제가 발생했습니다. n = 20이라고 말하십시오. 위와 같이 시도했지만 대각선으로 0과 1의 행렬을 받았습니다.하지만 TRUE와 FALSE가 필요합니다. 주어진 n에 대해 d_matrix와 같은 행렬을 얻을 수 있도록이 작업을 수행 할 수있는 방법이 있습니까?

답변

3

우리는 diag을하고 logical 매트릭스

fmat <- function(n) { 
      diag(n)==1 
    } 
fmat(2) 
#  [,1] [,2] 
#[1,] TRUE FALSE 
#[2,] FALSE TRUE 
+1

그게 멋진로 변환 할 수 있습니다. 감사 ! – user24318

관련 문제