给定R在其他列中的特定值,则将R中矩阵的特定值相加

时间:2019-02-11 18:31:33

标签: r loops matrix

我是R的新手。

我有一个数据集,其中包含3列和200行的R,并通过as.matrix()导入。矩阵看起来不错。现在,如果(同一行的)第二列中的值等于1,我必须将第二列中的所有值相加。

例如,我有

1 8 10 2 1 9 3 1 2 3 2 2

这意味着我必须添加9+2并获得11,因为只有第二行和第三行的第二列中有1

我猜想我需要一个带if语句的for循环,但是我还没有。我现在有以下内容:

for (i in 1:nrow(x)){
  if(x[i,2]=="1"){
    print(x[i,3])
  } else {NULL}
}

哪个可以工作,它确实可以打印正确的值,但是我需要添加它们。

欢迎提出任何建议。

我现在使用以下代码对其进行了功能:

summing <- function(m){
  k=0
  for (i in 1:nrow(x)){
    if(x[i,2]==m){
      k = k + x[i,3]
    } else {NULL}
    amount_fishes <- sum(x[,2]==m)
  }

现在我可以用来在第二列中添加具有特定值的任何列。

0 个答案:

没有答案