如何访问转置矩阵的第一列[用于合并]?转置矩阵的列名成为行名,我无论如何都无法访问。
示例:
我有两个矩阵:
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。
所以我无法解决合并的正确列。这是如何工作的?
亨克
答案 0 :(得分: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