如何在R中用一个向量的每个元素减去另一个向量的每个元素?


为了用一个向量的每个元素减去另一个向量的每个元素,我们可以使用outer函数并定义减号。

例如,如果我们有两个向量x和y,并且我们想用y中的每个元素减去x中的每个元素,那么我们可以使用以下命令:

outer(x,y,`-`)

示例1

以下代码片段创建一个示例向量:

x1<-rpois(10,5)
y1<-rpois(10,8)
outer(x1,y1,`-`)

创建了以下向量:

    [,1][,2][,3][,4][,5][,6][,7][,8][,9][,10]
[1,]  1  -4  -3  -1  -4  -8  -4  -5  -1   0
[2,]  0  -5  -4  -2  -5  -9  -5  -6  -2  -1
[3,] -1  -6  -5  -3  -6  -10 -6  -7  -3  -2
[4,]  1  -4  -3  -1  -4  -8  -4  -5  -1   0
[5,] -2  -7  -6  -4  -7  -11 -7  -8  -4  -3
[6,]  1  -4  -3  -1  -4  -8  -4  -5  -1   0
[7,]  0  -5  -4  -2  -5  -9  -5  -6  -2  -1
[8,] -1  -6  -5  -3  -6  -10 -6  -7  -3  -2
[9,]  0  -5  -4  -2  -5  -9  -5  -6  -2  -1
[10,] 1  -4  -3  -1  -4  -8  -4  -5  -1   0

示例2

以下代码片段创建一个示例向量:

x2<-rpois(10,10)
y2<-rpois(10,2)
outer(x2,y2,`-`)

创建了以下向量:

     [,1][,2][,3][,4][,5][,6][,7][,8][,9][,10]
[1,]  6    9   9   7   7   7   7   7   5   7
[2,]  7   10  10   8   8   8   8   8   6   8
[3,]  7   10  10   8   8   8   8   8   6   8
[4,]  3    6   6   4   4   4   4   4   2   4
[5,] 10   13  13  11  11  11  11  11   9  11
[6,]  7   10  10   8   8   8   8   8   6   8
[7,]  9   12  12  10  10  10  10  10   8  10
[8,]  5    8   8   6   6   6   6   6   4   6
[9,]  9   12  12  10  10  10  10  10   8  10
[10,] 13  16  16  14  14  14  14  14  12  14

示例3

以下代码片段创建一个示例向量:

x3<-rpois(10,1)
y3<-rpois(10,2)
outer(x3,y3,`-`)

创建了以下向量:

     [,1][,2][,3][,4][,5][,6][,7][,8][,9][,10]
[1,]  -4   0  -1   0  -1   0   -1  0  1   0
[2,]  -5  -1  -2  -1  -2  -1  -2 -1   0  -1
[3,]  -4   0  -1   0  -1   0  -1  0   1   0
[4,]  -3   1   0   1   0   1   0  1   2   1
[5,]  -3   1   0   1   0   1   0  1   2   1
[6,]  -3   1   0   1   0   1   0  1   2   1
[7,]  -3   1   0   1   0   1   0  1   2   1
[8,]  -2   2   1   2   1   2   1  2   3   2
[9,]  -4   0  -1   0  -1   0  -1  0   1   0
[10,] -4   0  -1   0  -1   0  -1  0   1   0

示例4

以下代码片段创建一个示例向量:

x4<-rpois(10,5)
y4<-rpois(5,2)
outer(x4,y4,`-`)

创建了以下向量:

     [,1][,2][,3][,4][,5]
[1,]  -2  0   0   2  -3
[2,]   3  5   5   7   2
[3,]   0  2   2   4  -1
[4,]  -1  1   1   3  -2
[5,]   3  5   5   7   2
[6,]  -1  1   1   3  -2
[7,]  -1  1   1   3  -2
[8,]   2  4   4   6   1
[9,]   3  5   5   7   2
[10,] -2  0   0   2  -3

示例5

以下代码片段创建一个示例向量:

x5<-rpois(10,2)
y5<-rpois(8,5)
outer(x5,y5,`-`)

创建了以下向量:

     [,1][,2][,3][,4][,5][,6][,7][,8]
[1,]  -1  -2   0  -2  -1  -3   0   1
[2,]  -5  -6  -4  -6  -5  -7  -4  -3
[3,]  -3  -4  -2  -4  -3  -5  -2  -1
[4,]  -5  -6  -4  -6  -5  -7  -4  -3
[5,]  -3  -4  -2  -4  -3  -5  -2  -1
[6,]  -4  -5  -3  -5  -4  -6  -3  -2
[7,]  -1  -2   0  -2  -1  -3   0   1
[8,]  -2  -3  -1  -3  -2  -4  -1   0
[9,]  -5  -6  -4  -6  -5  -7  -4  -3
[10,] -2  -3  -1  -3  -2  -4  -1   0

更新于:2021年11月9日

464 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告