R,向Matrix的每一行添加一个属性

时间:2013-04-15 03:06:33

标签: r matrix attributes higher-order-functions

在R中,我有一个矩阵:matClust4,它在执行kmeans算法后保存集群4中的所有向量。

matClust4的尺寸为27 X 31,并为每个矢量设置了rownames属性。 我想做的是为matClust4

中的每个行向量赋予另一个属性

我更喜欢使用apply功能。我想尝试这样的事情:

apply(matClust4, 1, function(v) SOME_ATTRIBUTE(v) = idClust4)

#where idClust4 is some previous calculated result
  1. 如何创建/使用matClust4的属性来执行此操作?

1 个答案:

答案 0 :(得分:1)

如果已经计算了要分配的值(并且具有与apply相同数量的元素的行,那么您不需要为此目的使用matClust4。您应该只分配R属性:

 attr(matClust4, 'SOME_ATTRIBUTE') = idClust4

这就是Frank Harrell为从SAS导入的数据集创建值标签的方法。您需要注意的是,重新排序或更改数据框可能会扰乱与向量的关联,因为[<-sortorder会强制执行一致性。