要将较大向量的每个元素与较小向量相乘,我们可以借助 %o% 运算符执行外积计算。
例如,如果我们有两个向量,比如 x 和 y,其中 x 的长度比 y 短,那么我们可以使用下面给出的命令将 y 的每个元素与 x 的每个元素相乘 -
x%o%y
查看以下示例以了解其工作原理。
要将较大向量的每个元素与较小向量相乘,请使用下面给出的代码 -
x1<-rpois(10,2) x1
如果您执行上面给定的代码,它会生成以下输出 -
[1] 0 5 1 2 3 1 1 2 4 1
要将较大向量的每个元素与较小向量相乘,请将以下代码添加到上面 -
y1<-rpois(12,2) y1
如果您将上述所有代码作为单个程序执行,它会生成以下输出 -
[1] 1 0 1 1 1 2 2 2 2 4 3 1
要将较大向量的每个元素与较小向量相乘,请将以下代码添加到上面 -
x1%o%y1输出结果
如果您将上述所有代码作为单个程序执行,它会生成以下输出 -
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10][,11][,12] [1,] 0 0 0 0 0 0 0 0 0 0 0 0 [2,] 5 0 5 5 5 10 10 10 10 20 15 5 [3,] 1 0 1 1 1 2 2 2 2 4 3 1 [4,] 2 0 2 2 2 4 4 4 4 8 6 2 [5,] 3 0 3 3 3 6 6 6 6 12 9 3 [6,] 1 0 1 1 1 2 2 2 2 4 3 1 [7,] 1 0 1 1 1 2 2 2 2 4 3 1 [8,] 2 0 2 2 2 4 4 4 4 8 6 2 [9,] 4 0 4 4 4 8 8 8 8 16 12 4 [10,] 1 0 1 1 1 2 2 2 2 4 3 1
要将较大向量的每个元素与较小向量相乘,请使用下面给出的代码 -
x2<-rpois(8,5) y2<-rpois(10,2) x2%o%y2输出结果
如果您将上述所有代码作为单个程序执行,它会生成以下输出 -
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10] [1,] 2 4 6 0 8 2 12 4 0 2 [2,] 4 8 12 0 16 4 24 8 0 4 [3,] 7 14 21 0 28 7 42 14 0 7 [4,] 2 4 6 0 8 2 12 4 0 2 [5,] 6 12 18 0 24 6 36 12 0 6 [6,] 8 16 24 0 32 8 48 16 0 8 [7,] 5 10 15 0 20 5 30 10 0 5 [8,] 6 12 18 0 24 6 36 12 0 6
要将较大向量的每个元素与较小向量相乘,请使用下面给出的代码 -
x3<-rpois(10,5) y3<-rpois(11,2) x3%o%y3输出结果
如果您将上述所有代码作为单个程序执行,它会生成以下输出 -
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10][,11] [1,] 6 9 6 6 3 9 6 15 6 6 21 [2,] 10 15 10 10 5 15 10 25 10 10 35 [3,] 10 15 10 10 5 15 10 25 10 10 35 [4,] 16 24 16 16 8 24 16 40 16 16 56 [5,] 6 9 6 6 3 9 6 15 6 6 21 [6,] 14 21 14 14 7 21 14 35 14 14 49 [7,] 16 24 16 16 8 24 16 40 16 16 56 [8,] 12 18 12 12 6 18 12 30 12 12 42 [9,] 4 6 4 4 2 6 4 10 4 4 14 [10,] 18 27 18 18 9 27 18 45 18 18 63
要将较大向量的每个元素与较小向量相乘,请使用下面给出的代码 -
x4<-rpois(8,1) y4<-rpois(10,2) x4%o%y4输出结果
如果您将上述所有代码作为单个程序执行,它会生成以下输出 -
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10] [1,] 0 0 0 0 0 0 0 0 0 0 [2,] 0 0 0 0 0 0 0 0 0 0 [3,] 8 4 2 4 6 0 2 2 2 4 [4,] 0 0 0 0 0 0 0 0 0 0 [5,] 8 4 2 4 6 0 2 2 2 4 [6,] 8 4 2 4 6 0 2 2 2 4 [7,] 0 0 0 0 0 0 0 0 0 0 [8,] 4 2 1 2 3 0 1 1 1 2
要将较大向量的每个元素与较小向量相乘,请使用下面给出的代码 -
x5<-rpois(10,5) y5<-rpois(12,10) x5%o%y5输出结果
如果您将上述所有代码作为单个程序执行,它会生成以下输出 -
[,1] [,2][,3][,4][,5][,6][,7][,8][,9][,10][,11][,12] [1,] 24 48 52 56 32 80 48 36 36 32 40 44 [2,] 18 36 39 42 24 60 36 27 27 24 30 33 [3,] 12 24 26 28 16 40 24 18 18 16 20 22 [4,] 6 12 13 14 8 20 12 9 9 8 10 11 [5,] 18 36 39 42 24 60 36 27 27 24 30 33 [6,] 18 36 39 42 24 60 36 27 27 24 30 33 [7,] 60 120 130 140 80 200 120 90 90 80 100 110 [8,] 18 36 39 42 24 60 36 27 27 24 30 33 [9,] 30 60 65 70 40 100 60 45 45 40 50 55 [10,] 36 72 78 84 48 120 72 54 54 48 60 66