我有矩阵过滤出的行中的矩阵只包含0中的R
m <- matrix(c(1, 0, 3, 4, 0, 6), 3)
我需要过滤掉行,其中两列具有值0时生效的矩阵返回:
m <- matrix(c(1, 3, 4, 6), 3)
我试图
m[m[, 1] > 0 & m[, 2] > 0]
但这返回一个矢量,而不是汽提行的矩阵的仅具有0。这应该是SIMP但我被卡住了。
感谢, -Elizabeth
我有矩阵过滤出的行中的矩阵只包含0中的R
m <- matrix(c(1, 0, 3, 4, 0, 6), 3)
我需要过滤掉行,其中两列具有值0时生效的矩阵返回:
m <- matrix(c(1, 3, 4, 6), 3)
我试图
m[m[, 1] > 0 & m[, 2] > 0]
但这返回一个矢量,而不是汽提行的矩阵的仅具有0。这应该是SIMP但我被卡住了。
感谢, -Elizabeth
如果你有很多列
m
[,1] [,2]
[1,] 1 4
[2,] 0 0
[3,] 3 6
m^2
[,1] [,2]
[1,] 1 16
[2,] 0 0
[3,] 9 36
rowSums(m^2)
[1] 17 0 45
m[rowSums(m^2)>0,]
[,1] [,2]
[1,] 1 4
[2,] 3 6
你只是缺少一个 “” 在自己的解决方案。 使用
m[m[,1]>0 & m[,2]>0,]
,它会工作:
> m[m[,1]>0 & m[,2]>0,]
[,1] [,2]
[1,] 1 4
[2,] 3 6
你说得对!这可能是我应该回家的日子:) – Elizabeth
再次拯救!谢谢。你能告诉我^做什么或者指导我到帮助页面吗?我搜索了^ ^和?rowSum但找不到任何东西。谢谢! – Elizabeth
不客气。我更新了答案,因为你可以看到'^'是元素明智的力量。并且它是rowsum {** s **} – Julius
@伊丽莎白,还有一件事,对象'^'这样的符号它是?'^',也是?'['' – Julius