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)

Mat 2 必须与 mat1 合并,所以我转置 mat1:

mat11=t(mat1)

现在我有 2 个矩阵,其中第一列包含站点名称,其他列包含参数。转置后,第一列的列标题称为“row.names”。我不知道如何访问它以进行合并:

mat11[,1]

给出: var site1 site2 "var1" "1" "4",

不是预期的:row.names、var、site1、site2。

所以我无法解决合并的正确列。这是如何运作的?

亨克

4

1 回答 1

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
于 2012-08-02T04:39:37.163 回答