2016-06-11 3 views
0

이 세 행렬 (II, JK, JH)로 구성된 크기가 nrow(X) 인 크기의 희소 행렬을 정의해야합니다. 그 크기는 3164*1입니다. 지금까지 나는 올바르지 않은 다음 명령을 얻었다. (3) 82 내지3 개의 행렬을 사용하여 정의 된 크기의 희소 행렬을 작성하십시오 - R

Gradient <- sparseMatrix(II,JK,JH, dims=c(nrow(X),nrow(X))) 

II 값을 가지고 (이것은 예를 들어, repeatation을 갖는 10 배 값 3 (14) 4 배의 값) .JK도 II와 동일하지만 II의 값이 JK 중에 정렬 된 그들은 1과 1 인 JH를 가지고 있습니다.

또한 스파 스 매트릭스의 크기는 83 * 83이어야합니다.

도움이된다면 감사드립니다.

감사

+0

II, JK, JH 및 X의 최소 예를 추가하십시오. 원하는 출력. 코드 출력이 부정확 한 방법도 추가하십시오. 이들이 없으면 우리는 도울 수 없습니다. – vincentmajor

+1

이것은 쉽게 대답 할 수 있지만 데이터가 없으면 많은 추측이 필요합니다. 'II'''JK''JH'라는 3 개의 벡터 중 어느 것이 행렬 원소를 포함합니까? 어느 것이 행 색인을 포함하고, 어느 것이 열 색인을 포함합니까? 예를 들어 5x6 행렬로 작은 재현 가능한 예제를 포함 시키면 몇 분 내에 답변을 얻을 수 있습니다. – RHertel

+0

@RHertel, 필자는 질문에 필요한 정보를 편집했습니다. –

답변

0

다음은 예를 들어 그 도움입니다. 게시물의 정보는 확실하지는 않지만 충분하지는 않지만 이 유형의 행렬 또는 전치가 원하는 결과라고 가정 할만큼 충분히 구체적입니다.

먼저 우리는 몇 가지 모의 데이터를 생성

set.seed(42) # for reproducibility of the example 
II <- as.matrix(sample(7,replace=TRUE)) 
JK <- as.matrix(sample(7,replace=TRUE)) 
JH <- sample(c(1,-1),length(II),replace=TRUE) 

참고 :as.matrix() 위의 명령은 불필요하지만, 영업 이익은 벡터가 II, JKJH이 행렬로 저장하는 것을 주장했다, 그래서 나는 그들을 포함 동일한 데이터 클래스를 얻을 수 있습니다.

이들은 1 차원 행렬이든 무차별 벡터이든 상관 없습니다. 이 예에서 사용

7 x 7 sparse Matrix of class "dgTMatrix" 

[1,] . . . . . . . 
[2,] . . . . . . . 
[3,] . . . . -1 . . 
[4,] . . . . . . -1 
[5,] . . . . . 1 . 
[6,] . -1 . 1 . . . 
[7,] 1 . . . -1 . . 

데이터 : 결과는 다음과 성긴 (7 × 7) 행렬

library(Matrix) 
spMatrix(max(II), max(JK), i = II, j = JK, x = JH) 

다음과 같이 데이터가 이러한 유형

는 희소 행렬을 생성 할 수있다 :

Row indices: 
II <- as.matrix(c(7, 7, 3, 6, 5, 4, 6)) 
Column indices: 
JK <- as.matrix(c(1, 5, 5, 4, 6, 7, 2)) 
Matrix elements: 
JH <- c(1, -1, -1, 1, 1, -1, -1) 
관련 문제