종 매트릭스를 종 매트릭스별로 사이트로 축소

다니엘

미리 사과드립니다.이 질문에 제목을 붙이기가 어려웠습니다. 열과 행이 종을 나타내는 종 상호 작용 행렬이 있고 행렬 채우기는 상호 작용의 빈도입니다.

matrix<-   2A   2B   2C   
         1A 1   2    4      
         1B 0   1    1    
         1C 5   4    1    

다음 형식으로 행렬을 만들고 싶습니다.

 mat<-        
            comm
     1A_2A   1
     1A_2B   2
     1A_2C   4
     1B_2A   0
     1B_2B   1
     1B_2C   1
     1C_2A   5
     1C_2B   4
     1C_2C   1

종 상호 작용이 행이되고 열은 임의의 변수가 될 수 있지만 매트릭스 채우기는 상호 작용의 빈도로 남아 있고 구조는 매트릭스로 남아 있습니다. 이런 식으로 행렬은 커뮤니티 x 종 행렬의 형태를 취합니다. 나는이 방법으로 매트릭스를 붕괴 및 매트릭스 형태를 유지하려는 이유에서 함수의 사용을 가능하게하는 library(vegetarian)등의 d()매트릭스 형태를 필요로한다.

Jaap

사용 :

m2 <- matrix(t(m1))
dimnames(m2) <- list(paste(rep(rownames(m1), each = nrow(m1)),
                           colnames(m1), sep = '_'),
                     'comm')

제공합니다 :

> m2
      comm
1A_2A    1
1A_2B    2
1A_2C    4
1B_2A    0
1B_2B    1
1B_2C    1
1C_2A    5
1C_2B    4
1C_2C    1

이것이하는 일 :

  • 행렬은 2 차원 벡터로 볼 수 있습니다. 벡터를 얻으려면 간단히 c(m1). 이것은 첫 번째 열의 값을 가진 벡터를 먼저 제공하고 두 번째 열의 값을 제공합니다. 행 순서로 값을 얻으려면을 사용하여 행렬을 전치 할 수 있습니다 t(m1).
  • 이를 래핑 matrix하면 열 또는 행 수가 지정되지 않은 경우 기본 동작 인 1 열 행렬을 얻을 수 있습니다. 결과적으로 matrix(t(m1))matrix(t(m1), ncol = 1).
  • 마지막으로, 행 이름 ( paste(rep(rownames(m1), each = nrow(m1)), colnames(m1), sep = '_')및 열 이름 ( 'comm)) 이있는 길이 2의 목록을 만들고에 할당합니다 dimnames. 새 행 이름은 각 행 이름 m1을 열 수만큼 반복 m1하고 열 이름의 벡터로 붙여 넣는 방식으로 생성됩니다. (재활용됩니다).

열 순서로 값을 원하는 경우 위 코드를 다음과 같이 조정할 수 있습니다.

m2 <- matrix(m1)
dimnames(m2) <- list(paste(rownames(m1),
                           rep(colnames(m1), each = ncol(m1)), sep = '_'),
                     'comm')

동일한 결과를 제공하지만 순서가 다릅니다.

> m2
      comm
1A_2A    1
1B_2A    0
1C_2A    5
1A_2B    2
1B_2B    1
1C_2B    4
1A_2C    4
1B_2C    1
1C_2C    1

또는 reshape2-package를 사용할 수도 있습니다 .

library(reshape2)
d1 <- melt(m1)
rownames(d1) <- paste(d1$Var1, d1$Var2, sep = '_')
d1 <- d1[, 3, drop = FALSE]

데이터 프레임을 반환합니다.

> d1
      value
1A_2A     1
1B_2A     0
1C_2A     5
1A_2B     2
1B_2B     1
1C_2B     4
1A_2C     4
1B_2C     1
1C_2C     1

매트릭스를 얻으려면, 당신은 단지 포장 할 수 d1있는 as.matrix: as.matrix(d1).


사용 된 데이터 :

m1 <- matrix(c(1,2,4,0,1,1,5,4,1), ncol = 3, byrow = TRUE,
             dimnames = list(c('1A','1B','1C'),c('2A','2B','2C')))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

분리 된 종 수량 데이터를 종 풍부 매트릭스로 조작

분류에서Dev

로봇 공학 : DH 매개 변수를위한 동종 변환 매트릭스

분류에서Dev

Matlab 매트릭스 주소

분류에서Dev

z = 0 평면에서 2D 변환 매트릭스 (동종 좌표 용)를 3D로 어떻게 변환합니까?

분류에서Dev

확대 / 축소 및 자르기 이미지 (매트릭스)

분류에서Dev

Linux : 매개 변수 이름으로 루트 소유 프로세스를 종료하는 방법은 무엇입니까?

분류에서Dev

RDD를 매트릭스로 스파크

분류에서Dev

매트릭스 : 가우스 감소

분류에서Dev

클라이언트 연결이 끊어진 후 mongodb는 맵 축소 프로세스를 종료해야합니다.

분류에서Dev

2D 아이소 메트릭 카메라 매트릭스

분류에서Dev

Linux : "소프트웨어 및 업데이트"프로세스를 종료 할 수 없음

분류에서Dev

이미 종료 된 프로젝트 xCode 5에 대한 소스 제어

분류에서Dev

"NA"를 기반으로 한 매트릭스를 두 매트릭스로 분할

분류에서Dev

github 액션 매트릭스 요소를 조건부로 만드는 방법

분류에서Dev

매트릭스 기능 최소화

분류에서Dev

호스트 종료시 QEMU / KVM을 정상적으로 종료

분류에서Dev

QProcess 종료 프로세스 트리

분류에서Dev

if 문으로 스크립트 종료

분류에서Dev

Gradle 로컬 종속성 테스트

분류에서Dev

특정 포트를 사용하는 프로세스 종료

분류에서Dev

SOAPUI를 일종의 게이트웨이로 사용

분류에서Dev

종속성에서 리소스로드

분류에서Dev

IronPython 스크립트 종료

분류에서Dev

쉘 스크립트 종료

분류에서Dev

Expect 스크립트 종료

분류에서Dev

매니페스트 순서로 해결되지 않는 Javascript 파일 종속성

분류에서Dev

테스트 개체에 종속 프로젝트 사용

분류에서Dev

도트 매트릭스 프린터의 오래된 종이와 같은 PDF 인쇄물의 대체 녹색 / 파란색 막대

분류에서Dev

특별한 이유없이 스프링 부트 응용 프로그램 종료

Related 관련 기사

  1. 1

    분리 된 종 수량 데이터를 종 풍부 매트릭스로 조작

  2. 2

    로봇 공학 : DH 매개 변수를위한 동종 변환 매트릭스

  3. 3

    Matlab 매트릭스 주소

  4. 4

    z = 0 평면에서 2D 변환 매트릭스 (동종 좌표 용)를 3D로 어떻게 변환합니까?

  5. 5

    확대 / 축소 및 자르기 이미지 (매트릭스)

  6. 6

    Linux : 매개 변수 이름으로 루트 소유 프로세스를 종료하는 방법은 무엇입니까?

  7. 7

    RDD를 매트릭스로 스파크

  8. 8

    매트릭스 : 가우스 감소

  9. 9

    클라이언트 연결이 끊어진 후 mongodb는 맵 축소 프로세스를 종료해야합니다.

  10. 10

    2D 아이소 메트릭 카메라 매트릭스

  11. 11

    Linux : "소프트웨어 및 업데이트"프로세스를 종료 할 수 없음

  12. 12

    이미 종료 된 프로젝트 xCode 5에 대한 소스 제어

  13. 13

    "NA"를 기반으로 한 매트릭스를 두 매트릭스로 분할

  14. 14

    github 액션 매트릭스 요소를 조건부로 만드는 방법

  15. 15

    매트릭스 기능 최소화

  16. 16

    호스트 종료시 QEMU / KVM을 정상적으로 종료

  17. 17

    QProcess 종료 프로세스 트리

  18. 18

    if 문으로 스크립트 종료

  19. 19

    Gradle 로컬 종속성 테스트

  20. 20

    특정 포트를 사용하는 프로세스 종료

  21. 21

    SOAPUI를 일종의 게이트웨이로 사용

  22. 22

    종속성에서 리소스로드

  23. 23

    IronPython 스크립트 종료

  24. 24

    쉘 스크립트 종료

  25. 25

    Expect 스크립트 종료

  26. 26

    매니페스트 순서로 해결되지 않는 Javascript 파일 종속성

  27. 27

    테스트 개체에 종속 프로젝트 사용

  28. 28

    도트 매트릭스 프린터의 오래된 종이와 같은 PDF 인쇄물의 대체 녹색 / 파란색 막대

  29. 29

    특별한 이유없이 스프링 부트 응용 프로그램 종료

뜨겁다태그

보관