2012-07-23 3 views
0

[병합을 위해] 전치 행렬의 첫 번째 열에 어떻게 액세스 할 수 있습니까? 전치 된 행렬의 열 이름이 행 이름이되어 어떤 식 으로든 액세스 할 수 없습니다.트랜스 포즈 후 행렬의 첫 번째 열에 액세스 하시겠습니까?

예 :

내가 2 행렬이 :

mat1=data.frame(var=c('var1','var2','var3'),site1=1:3,site2=4:6) 
mat2=data.frame(site=c('site1','site2'),newvar=1:2) 

매트를 2 MAT1와 합병, 그래서 나는 MAT1를 트랜스해야합니다 지금은이 행렬을 가지고

mat11=t(mat1) 

하는의 첫 번째 열은 사이트 이름을 보유하고 다른 열은 매개 변수를 보유합니다. 조 변경 후 첫 번째 열의 열 머리글을 'row.names'라고합니다.

mat11 [1]

이 제공 : 나는 병합에 액세스하는 방법을 모른다, VAR 사이트 1 사이트 2 "VAR1" "1", "4"

예상 한 것이 아닙니다 : row.names, var, site1, site2.

그래서 병합을위한 오른쪽 열의 주소를 지정할 수있는 방법이 없습니다. 이게 어떻게 작동합니까?

헹크

답변

0
newvars <- as.character(mat1$var) 
newnames <- names(mat1)[2:3] 

mat1data <- t(mat1[,2:3]) 

mat11 <- data.frame(newnames, mat1data, row.names=NULL) 
names(mat11) <- c("sites", newvars) 

mat11 

    sites var1 var2 var3 
1 site1 1 2 3 
2 site2 4 5 6 
관련 문제