我是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)
}
现在我可以用来在第二列中添加具有特定值的任何列。