有一个赋值的问题:
一个矩阵希望替换掉第二列中的负值,其中负1位的替换成10^(-6),负两位数的替换成10^(-7),负三位数的替换成10^(-8);目前我已通过一下的代码将上述过程实现,但是
问题在于,我已经将符合条件的值
挑选出来替代了(mm已经将其中的负值按照条件替换成功),但是我读入的矩阵
m却没有改变,应该怎么是矩阵改变呢?
代码如下:
m<-seq(-149,150,by=1)
mn<-matrix(m,nrow = 50,ncol = 6,byrow = TRUE)
mn<-floor(log(abs(mn[which(mn[,2]<=0),2]),10)+1)
mm<-numeric(length(mn))
mm[mn==3]<-10^(-8)
mm[mn==2]<-10^(-7)
mm[mn==1]<-10^(-6)
mm
运行的结果如下:
结果显示虽然第二列特定的位置是进行了替换,但是本身的矩阵中的第二列,并没有发生改变,怎么修改,才能使得矩
阵中第二列中小于零的数按照规则进行修改,其他的列的值不变?
谢谢!