2013-04-15 3 views
1

R에서 kmeans 알고리즘을 실행 한 후 클러스터 4에있는 모든 벡터를 보유하는 행렬 matClust4이 있습니다.R, 매트릭스의 각 행에 속성 추가

matClust4은 27 x 31 크기이고 각 벡터에 대해 rownames 속성이 설정되어 있습니다. 내가 수행하고 싶은 것은의 각 행 벡터에 다른 속성을 부여하는 것입니다.

apply 기능을 사용하는 것을 선호합니다. 내가이 일을 matClust4의 속성을 사용/만드는 방법을

apply(matClust4, 1, function(v) SOME_ATTRIBUTE(v) = idClust4) 

#where idClust4 is some previous calculated result 
  1. : 나는 이런 식으로 뭔가를 시도 하시겠습니까? 더 - 할당에-값이 이미 계산 된 (그리고 matClust4 행을 가지고 같은 수의 요소를 가지고 있었다 경우
+0

나는 이것을 할 수 있다고 생각하지 않습니다. 행은 개별 객체가 아니므로 별도의 속성을 가질 수 없습니다. 속성을 벡터에 넣을 수 있다면'attr (matClust4, WHATVER ") <- vector_of_whatever'를 사용할 수있다 (비슷하게,'rownames' 속성은 개별 속성들의 집합이 아닌'matClust4'와 연관된 단일 벡터이다. 행과 관련됨) –

+0

아마도 추가 속성을 원한 이유를 설명하면 목표 달성을위한 대체 수단을 제공 할 수 있습니다. –

답변

1

당신은 그 목적을 위해 apply를 사용할 필요가 없습니다 woud 당신은 단지와 함께 R 속성을 할당해야합니다. : 프랭크 하렐 그는 SAS에서 수입 데이터 세트에 대한 값 레이블을 생성하는 방법을

attr(matClust4, 'SOME_ATTRIBUTE') = idClust4 

입니다. 일관성의 집행이있을 것이기 때문에 당신은, 재정렬 또는 dataframe의 변화하는 벡터와의 연결을 화나게 수 있음을주의해야합니까 [<- 또는 sort 또는 order.

+0

이것은 matClust4에 대한 속성을 제공하지만,'rownames'처럼 모든 행에 속성을 원합니다. – CodeKingPlusPlus

+2

'rownames' 속성은 데이터 프레임 (또는 행렬)에 행이있는 요소가 많은 벡터입니다. 'rownames (matClust4) [n]'을 사용하면 n 번째 rowname을 얻을 수 있습니다. 정말로 원하는 것이 새로운 칼럼이라면이 새로운 것을 '속성'이라고 부르지 말아야합니다. 'matClust4 $ newcol <- idClust4' –

+0

그냥'attr (matClust4, "clustID") <- ids''ids'는 다음과 같은 행을 가진 벡터입니다. 'matClust4'. 이제, R은'matClust4 $ clustID'로'clustID'에 접근하게하지 않을 것입니다. 이 문제를 어떻게 해결할 수 있습니까? – CodeKingPlusPlus