【发布时间】:2013-12-15 20:47:45
【问题描述】:
我有一个带有单独列名的矩阵(行名不重要),像这样
TestMat<-matrix(1:25,ncol=5,nrow=5)
colnames(TestMat)<-c("A","B","C","D","E")
TestMat
由于各种原因,但主要是因为包以后需要它,我无法更改矩阵中的值,它们都必须是整数。 现在我想将我的列名称分类(例如 A、B 和 D 归入“第 1 组”,C 和 E 归入“第 2 组”)。这个想法是,矩阵稍后会变小,因为矩阵中的值会随机减少。一旦列总和达到零,该列将被删除。在这个过程中,我想看看一个组的分数/大小与其他组相比如何变化。 我认为最简单的方法是将所有相应的列命名为相同:
TestMat2<-matrix(1:25,ncol=5,nrow=5)
colnames(TestMat2)<-c("Group1","Group1","Group2","Group1","Group2")
TestMat2
但这给了我稍后在分析中的错误消息,因为 R 开始以“Group1”“Group1.1”“Group2”“Group1.2”“Group2.1”的方式对相同的列名进行编号.
我已经尝试对列名使用“class”、“attr”和“factor”命令,但没有得到任何结果。 有没有什么技巧或命令,我可能从未听说过?
【问题讨论】:
-
为什么不在单独的向量中?那肯定会使代码更简单?
-
听起来您可能更乐意创建几列
factors并使用它们来处理您的数据子集。
标签: r grouping r-factor columnname