如何用R中的列名替换行值?

时间:2014-05-09 21:10:48

标签: r

我有一个1271列和306行的矩阵。除第一列外,所有其他列都具有值“0”或“1”。我想要做的是用相应的列名替换整个矩阵中的所有“1”。有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

请记住,矩阵只能包含一种数据类型:全数字或全字符。因此,用列名替换将强制所有字符。但这是一个有12列5行矩阵的样本。

#sample data
m <- matrix(sample(0:1, 12*5, replace=T), ncol=12)
colnames(m)<-letters[1:ncol(m)]

#replacement
ones <- which(m==1, arr.ind=T)
m[ones]<-colnames(m)[ones[,2]]
m;