如何应用映射
x'= ax + by和y'= cx + dy
在R中知道x,y和2列的矩阵,知道a,b,c,d的值吗?
答案 0 :(得分:1)
每个列x
和y
都是向量,因此您可以执行以下操作:
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'
。