将映射应用于R中的矩阵列

时间:2019-03-04 09:09:17

标签: r mapping

如何应用映射

x'= ax + by和y'= cx + dy

在R中知道x,y和2列的矩阵,知道a,b,c,d的值吗?

2 个答案:

答案 0 :(得分:1)

每个列xy都是向量,因此您可以执行以下操作:

a <- 1
b <- 2
c <- 3
d <- 4
df <- data.frame(x = 1:4, y = 4:1)
xx <- a*df$x + b*df$y
yy <- c*df$x + d*df$y
xx
> 9 8 7 6
yy
> 19 18 17 16

答案 1 :(得分:0)

另一种选择是使用%*%进行矩阵乘法。

使用Clemsang的数据:

mat <- as.matrix(data.frame(x = 1:4, y = 4:1))
A <- matrix(c(1:4), nrow = 2)

mat %*% A
#     [,1] [,2]
#[1,]    9   19
#[2,]    8   18
#[3,]    7   17
#[4,]    6   16

这些列对应于x'y'