【发布时间】:2018-01-13 22:32:37
【问题描述】:
我在 R 中有一个大小为 31x36 的数组,称为 input_matrix。在该矩阵的每一行中,有 16 个非零值和 20 个零值。每一行的非零值和零值的索引是不同的。我想检索一个大小为 31x16 的矩阵 output_matrix 作为我系统的最终输出,其中包含唯一的非零值。单行示例,如果我有:
5 0 4 0 4 0 1 0 0 0 .. 1
我要检索:(5 4 4 1 ... 1)。我如何在 R 中这样做?
【问题讨论】:
-
基本上与Adding non-zero elements of a matrix in R 重复。你只想要
m[m != 0] -
我假设你想保持数字的顺序不变?
-
对于非零计数小于 16 的行是否应该有“填充”(可能是
NA's)? -
@snoram 是的,顺序必须相同。
-
如果每行中非零项目的数量不同,那么您无法将其映射为规则排列,而无需在每行的末尾或开头进行填充。多个 cmets 表明您的问题不清楚,因为没有示例数据对象,所以不清楚。