2017-10-12 9 views
0

으로 보내 주시면 도움을받을 수 있습니다.아래쪽의 행렬을 R

나는 삼각형 행렬이 더 낮지 만, 자신의 고유 이름 목록 (벡터일까요?)을 기반으로 행의 순서를 편집하고 싶습니다.

INPUT

A C D B 
A 0 NA NA NA 
C 13 0 NA NA 
D 14 17 0 NA 
B 12 15 16 0 

나는 저에서 제공하는 목록을해야 행의 순서를 기억하려는

A B C D 
A 0 NA NA NA 
B 12 0 NA NA 
C 13 15 0 NA 
D 14 16 17 0 

OUTPUT 및 NOT 어떤 오름차순 또는 내림차순.

감사합니다.

답변

1

lower.tri을 사용하면 하위 요소가 TRUE이고 다른 요소가 거짓 인 논리 행렬을 가져올 수 있으며 데이터 집합 ('v1')을 부분 집합으로 지정할 수 있습니다. order (v1[order(v1)])이 사용하고

v1 <- df1[lower.tri(df1)] 
df1[lower.tri(df1)] <- v1[order(v1)] 
+0

안녕 @ankur 데이터의 낮은 삼각형에 다시 할당, 응답 주셔서 감사합니다. 조금 설명해 주시겠습니까? 특히 스크립트의 이름 목록 (매트릭스를 표시하려는 순서)을 소개 할 수있는 부분은 무엇입니까? – gusa10

+0

@ gusa10 더 많은 설명을 추가했습니다 – akrun

+0

하지만 그 순서가 acsending 또는 내림차순입니까? 내 직분에서 언급했듯이, 나는 그 명령에 대해 융통성을 발휘하고 싶다. 행렬이 많고 미리 정의 된 목록을 기반으로 주문하고 싶습니다. – gusa10