1

在 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来做到这一点?
4

1 回答 1

1

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

 attr(matClust4, 'SOME_ATTRIBUTE') = idClust4

这就是 Frank Harrell 为他从 SAS 导入的数据集创建值标签的方式。您确实需要小心,数据帧的重新排序或更改可能会破坏与向量的关联,因为会通过[<-orsort或强制执行一致性order

于 2013-04-15T03:47:26.813 回答