2017-09-28 1 views
0

나는 다음과 같은 간단한 코드를 수행 할 때 :부분 집합

myMatrix <- matrix(1:15, nrow=3) 
rownames(myMatrix) <- c("A", "B", "C") 
colnames(myMatrix) <- c("A", "B", "C", "D", "E") 
myMatrix1 = myMatrix[A, c("A", "B")] 

를 내가받을 다음과 같은 오류 메시지 : 코드를 잘못 무엇

Error in myMatrix[A, c("A", "B")] : subscript out of bounds 

? 나는 생각, 오류가

myMatrix ["A", c("A", "B"), drop = FALSE] 

그렇지 않으면 인용해야 행 이름 인덱스를 기반으로

+0

편의상 LETTERS 객체를 사용할 수 있습니다. 콘솔에서'LETTERS [1 : 3]'을 시도하십시오. – lmo

+0

감사! 도움이됩니다 (어떤 이유로 하위 집합에 대한 예제에서는 제공되지 않지만). 그러나 이제 행의 이름이 새 행렬에서 삭제됩니다. 그것들을 지킬 수 있습니까? –

답변

0

분명히 그 매트릭스에 존재 특정 행과 열을 기준으로 행렬을 ... 부분 집합 할 'A'는 일부 행 이름을 저장하는 객체입니다.

+0

감사! 도움이됩니다 (어떤 이유로 하위 집합에 대한 예제에서는 제공되지 않지만). 그러나 이제 행의 이름이 새 행렬에서 삭제됩니다. 그것들을 지킬 수 있습니까? –

+0

@AlexM 단 하나의 행만있을 때 행렬이'vector'로 변환되는 것을 피하기 위해'drop = FALSE'를 추가해야합니다 – akrun