R汇总特定行和列

R汇总特定行和列,r,sum,R,Sum,我是R新手,对行和列和有问题 我的数据集(称为“表”)如下所示 0 0.2 0.25 0.4 0.6 0.75 0.8 1 0 92 34 1 19 23 0 16 17 1 7 18 0 27 33 0 16 16 2 12 8 0 7 16 0 14 25 3 2 9 0 5 8 1 9 11 4 0 1 0 3 3 1 1 7

我是R新手,对行和列和有问题

我的数据集(称为“表”)如下所示

     0 0.2 0.25 0.4 0.6 0.75 0.8  1
  0 92  34    1  19  23    0  16 17
  1  7  18    0  27  33    0  16 16
  2 12   8    0   7  16    0  14 25
  3  2   9    0   5   8    1   9 11
  4  0   1    0   3   3    1   1  7
  5  2   0    0   0   2    0   0  1
  6  0   0    0   1   0    0   0  5
  7  0   1    0   0   0    0   0  1
我想做的是简化表格,使它最终看起来像

    0   >0
 0

>0
与在集群中一样,[0,0][0,大于0][0,0][0,大于0]的所有值将生成一个2x2表格


我怎样才能做到这一点?

x您可能需要先了解基本的R矩阵寻址:

x <- as.matrix(read.table(text=
 "92  34    1  19  23    0  16 17
  7  18    0  27  33    0  16 16
  12   8    0   7  16    0  14 25
   2   9    0   5   8    1   9 11
   0   1    0   3   3    1   1  7
   2   0    0   0   2    0   0  1
   0   0    0   1   0    0   0  5
   0   1    0   0   0    0   0  1",
 header=FALSE))
dimnames(x) <- list(0:7,
c(0,0.2,0.25,0.4,0.6,0.75,0.8,1))
res <- matrix(c(x[1,1],sum(x[-1,1]),
         sum(x[1,-1]),
         sum(x[-1,-1])),
       nrow=2,
       dimnames=list(c("0",">0"),
       c("0",">0")))
## double-check:
all.equal(sum(x),sum(res))
然后,紧凑矩阵包含以下内容:

reducedTable = matrix(ncol=2,nrow=2)
reducedTable[1,1] = Table[1,1]
reducedTable[1,2] = sum(Table[1,c(2:8)])
reducedTable[2,1] = sum(Table[c(2:8),1])
reducedTable[2,2] = Table[8,8]

目前我的电脑上没有,因此代码中可能有输入错误。

您能提供一些示例输出吗?我无法理解您希望如何选择值。使用
-1
可能比使用
2:8
(这里不需要使用
c()
)更一般一些。谢谢Ben-我实际上不知道-1构造!)