从矩阵创建新列

时间:2019-02-18 11:21:00

标签: r

我有一个 n x 2 矩阵,例如:

x <- matrix(1:4, nrow = 2, ncol = 2)

我必须创建一个新列来存储结果

(a11+a12)-a22, (a21+a22)-a32, ...

,依此类推。 a32不存在,因此被视为0。在R中有简单的方法吗?

我尝试使用apply()函数没有任何运气。所需的输出是具有

值的列
0
6

1 个答案:

答案 0 :(得分:0)

像这样吗?

x <- matrix(1:4, nrow = 2, ncol = 2)

# obtain the row sum of x
rs = rowSums(x)

# obtain the last column from the matrix
x = x[,ncol(x)]

# remove the first value and add a 0 at the end 
# since your last value will always be 0
x = x[-1]
x = c(x, 0)

rs - x