2016-11-21 2 views
-1

행렬에 문제가 있습니다. 첫 번째 행과 첫 번째 열은 숫자가 아닙니다. . Count matrix숫자가 아닌 행렬

행렬이 43 열과 100 선이

수있는 사람 : 나는 therfore X는 내가 행렬의

사진 R.의 행렬 뭔가를하려고 숫자 매번해야한다 "GET 매트릭스를 정의하는 데 도움이 되겠습니까? 숫자가 아닌 행/열에있는 정보를 잃어 버리고 싶지는 않습니다.

이 페이지에서는 다른 예제를 보았지만 작은 행렬이었습니다 어디에서 수동으로 정의했는지, 그리고 그 행렬이 크기 때문에 그것이 가능하지 않습니다. y for me

+1

안녕하세요. 오버플로 스택을 환영합니다! 적절한 질문을하는 동안 질문을하면 답변을 제공하는 데 도움이 될 수 있습니다. 질문 할 때 [도움]을 참조하십시오. –

+0

안녕하세요. 나는 [최소, 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve)를 제공 할 때 빠르고 좋은 지원을 얻는 데 도움을주고 싶습니다. – gus27

+0

안녕하세요, 감사합니다. 내가 지정하려고했습니다 :) – Camilla

답변

1

행 이름과 열 이름을 사용하여 숫자가 아닌 데이터를 저장할 수 있으며 나머지 행렬은 숫자 유형으로 변환 할 수 있습니다. 예를 들어 다음과 같이 :

는 보여 더미 행렬을 만듭니다

m0 = matrix(sample(0:9, 36,T), ncol = 6) 
m0[, 1] = c("",letters[1:5]) 
m0[1, ] = c("",letters[1:5]) 

#  [,1] [,2] [,3] [,4] [,5] [,6] 
#[1,] "" "a" "b" "c" "d" "e" 
#[2,] "a" "5" "6" "2" "0" "7" 
#[3,] "b" "9" "0" "5" "6" "3" 
#[4,] "c" "9" "7" "6" "6" "0" 
#[5,] "d" "5" "5" "7" "8" "3" 
#[6,] "e" "4" "0" "9" "4" "4" 

이제 몸에있는 숫자 값을 가진 새로운 매트릭스를 확인하고 행/열 이름은 문자열을 수용하는 데 사용

m1 = (m0[-1,-1])  # extract just the numeric part of the matrix into a new matrix 
mode(m1) = "numeric" # cast this into numeric rather than character type 
colnames(m1) = m0[1,-1] # use the first row of original as column names 
rownames(m1) = m0[-1,1] # same for row names 

# a b c d e 
# a 5 6 2 0 7 
# b 9 0 5 6 3 
# c 9 7 6 6 0 
# d 5 5 7 8 3 
# e 4 0 9 4 4