【发布时间】:2015-06-15 11:32:17
【问题描述】:
我有一个矩阵 A,它有大量的行和列(下面是这样一个矩阵的一个例子),它偶尔有一整行的 0 值(如在这个特定示例中的第 4 行)。
我想要一个函数来检查 A 的所有行并允许我对这些行的每个元素执行操作。有没有简单的方法可以做到这一点?
我也想知道矩阵是否是正确的数据结构。感觉不太对劲,也许数据框更好?
A = matrix(
c(0, 0, 1, 0, 0, 0, 0,
1, 0, 1, 1, 0, 0, 0,
0, 0, 0, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1,
0, 0, 0, 1, 1, 0, 1), nrow=7,ncol=7,byrow = TRUE)
对于该矩阵的每一行,我想确定其中是否只有 0。如果是这样,我想(为每个元素)设置值 1/N(其中 N 是 ncol(A))。
须藤代码:
如果 (sum(A 的行) == 0) 那么 row_of_A = 1/ncol(A)
【问题讨论】:
-
请更具体地描述您想要执行的操作。您可以使用
apply循环遍历矩阵行,但可能有更有效的替代方法。 -
对于该矩阵的每一行,我想确定其中是否只有 0。如果是这样,我想(为每个元素)设置值 1/N(其中 N 是 ncol(A))。须藤代码:如果 (sum(A 行) == 0) 那么 row_of_A = 1/ncol(A)
-
请将此添加到问题中(通过编辑问题)。
标签: r