我有一个名为 mat 的表格(5 列和 3 行):
AC CA RES
1 0
2 2
1 3
0 0
0 1
正在执行的操作是mat[1]/mat[1]+mat[2]
我正在测试以下内容:1)如果一行的两列都为零,则结果应为 NA。2) 如果一行中只有一列为零,而另一列为非零数,则继续计算。(即使分子为0也没关系)
我目前在逐行的for循环中使用这个if-else结构:
if(mat[b,1]>=0|mat[b,2]>=0){mat[b,3]<-(mat[b,1]/(mat[b,1]+mat[b,2]));}
else{is.na(mat[b,3])=TRUE;}
我收到以下错误:
1: In Ops.factor(mat[b, 1], 0) : >= not meaningful for factors
2: In Ops.factor(mat[b, 2], 0) : >= not meaningful for factors
有没有更流畅的方法来做到这一点?
数字始终为整数,并且始终为 0 或更大。我想使用apply
但如何直接将结果分配apply
到第三列?