【发布时间】:2019-11-20 02:25:47
【问题描述】:
我正在研究一个矩阵,其中前 7 列仅由 +1/-1 组成,第 8 列由正十进制数组成。我想找到重复的行(例如说矩阵中有两行,这样
[-1 1 1 -1 -1 -1 1 0.32]
...(其他不同的行)
[-1 1 1 -1 -1 -1 1 0.1]
...(其他不同的行)
[-1 1 1 -1 -1 -1 1 0.005])
然后在plyr 中执行类似于count 的操作,因为我只保留唯一的行,但也将第8 列中的值相加。所以在上面的例子中,我希望最终只有 1 行,其中前 7 个条目是 (-1 1 1 -1 -1 -1 1),而我的第 8 个条目是 0.425。
我不知道 R 中有这样的功能,我对 plyr / dplyr 了解不多。我想知道除了我手动编写一个循环来迭代 7 元素向量中 +1/-1 的所有可能 (128) 组合之外是否还有一个优雅的解决方案。
按照建议,我在下面添加了一个可重现的示例。为简单起见,尺寸发生了变化。
dat = matrix(c(-1, -1, 1, 0.1, -1, -1, 1, 0.2, -1, -1, -1, 0.05, 1, 1, 1, 0.5, -1, -1, -1, .9999), nrow = 5, byrow = T)
我希望得到一个如下所示的矩阵: 所需输出的屏幕截图
【问题讨论】:
标签: r dataframe matrix duplicates