那是。天 发表于 2017-7-27 20:54 
大神再问一个问题,我要让前面5行的数去除最后一行,得到每一行除以最后一行的值
虽然有好多证方法能实现,比如用矩阵除法原理,但比较容易搞错,推荐下面这种方法,比如假设
> a
X1.3 X2.4
1 2
2 3
3 4
要用最后一行除以上面两行,代码
apply(X=a,MARGIN=2,FUN=function(x){x[1:2]/x[3]})
得到结果:
X1.3 X2.4
[1,] 0.3333333 0.50
[2,] 0.6666667 0.75
代码解释:apply() 给一个矩阵X的每一行行(MARGIN=1)或者每一列(MARGIN=2)运用一个函数FUN,比如上面那个就是对于每一列运行函数,这一列1到2的元素除以第三个元素。
这个方式就是想到什么怎么写,相对于矩阵除法运算比较不会出错。希望能帮到你。