如何像数学中那样将R中的两个向量相乘?

在数学中,当两个向量相乘时,输出是一个标量,它是这些值的乘积之和。例如,如果我们有两个向量x和y,每个向量分别包含1和2,则两个向量的乘积将为5。在R中,我们可以通过使用t(x)%*%y来实现。

例1

x1<-1:2

y1<-1:2

t(x1)%*%y1

输出结果

[,1]

[1,] 5

例2

x2<-1:100

y2<-1:100

t(x2)%*%y2

输出结果

[,1]

[1,] 338350

例子3

x3<-sample(0:5,120,replace=TRUE)

x3

[1] 2 4 1 4 5 0 2 2 0 4 4 5 5 1 4 2 4 2 0 0 0 2 0 1 5 2 5 4 3 5 1 2 1 1 3 3 2

[38] 1 0 3 5 3 0 0 5 5 5 3 3 5 4 3 4 5 4 3 5 1 0 5 4 0 5 1 3 5 0 3 2 2 3 3 0 0

[75] 0 4 4 1 5 3 4 3 5 2 2 4 0 3 2 4 0 4 5 3 1 2 0 0 0 2 2 2 3 3 1 2 4 2 3 2 0

[112] 5 2 1 5 3 4 1 5 1

y3<-sample(0:5,120,replace=TRUE)

y3

[1] 2 0 3 0 2 4 5 3 0 4 5 2 4 3 3 3 4 2 3 2 1 5 0 5 2 4 4 1 3 2 2 1 5 3 0 2 0

[38] 2 2 1 1 3 1 3 3 2 3 3 0 1 4 5 1 2 3 3 5 2 5 2 1 0 0 5 0 3 1 5 2 4 3 4 2 2

[75] 4 4 1 4 2 4 2 2 4 5 0 3 5 3 4 1 1 4 0 1 1 4 1 3 5 3 5 5 5 2 5 1 5 0 0 2 0

[112] 0 3 2 0 4 2 4 4 3

t(x3)%*%y3

输出结果

[,1]

[1,] 766

例子4

x4<-sample(1:10,120,replace=TRUE)

x4

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

[26] 10 2 5 7 2 2 4 2 10 2 9 9 1 5 2 8 2 8 1 5 10 4 6 3 9

[51] 10 7 6 2 7 10 9 7 9 3 1 10 9 1 9 3 6 10 1 8 5 2 6 3 8

[76] 6 3 6 5 9 8 2 5 7 8 6 4 4 6 10 3 5 2 10 7 6 8 4 7 8

[101] 4 9 3 5 5 2 7 5 2 5 6 3 10 9 3 1 2 10 10 4

y4<-sample(1:10,120,replace=TRUE)

y4

[1] 10 10 7 6 9 7 1 7 7 1 2 9 6 8 2 7 8 5 8 6 1 3 1 5 8

[26] 1 9 2 7 4 4 9 6 3 5 1 1 4 5 9 1 8 6 9 7 4 6 4 9 1

[51] 4 10 7 10 8 7 5 2 1 3 8 10 10 3 1 6 8 5 9 1 9 5 1 3 9

[76] 2 2 3 7 8 5 5 3 5 4 7 7 2 4 9 3 8 3 7 6 3 7 2 7 4

[101] 1 6 3 4 6 1 1 10 3 4 8 2 5 1 3 3 7 7 5 7

t(x4)%*%y4

输出结果

[,1]

[1,] 3532

范例5

x5<-sample(101:110,120,replace=TRUE)

x5

[1] 103 109 110 109 107 107 105 107 101 105 101 105 106 102 108 109 103 107

[19] 105 105 108 105 104 103 105 103 106 108 103 110 104 109 105 103 107 109

[37] 105 102 103 106 105 110 105 110 104 110 107 105 105 101 106 109 103 106

[55] 103 107 104 102 101 108 103 101 104 110 104 104 103 107 102 110 101 107

[73] 110 103 103 101 107 108 107 106 105 101 103 102 106 110 108 103 101 102

[91] 107 106 108 109 108 108 109 107 109 105 107 105 106 110 103 104 103 103

[109] 103 101 107 102 107 106 107 109 102 101 102 102

y5<-sample(101:110,120,replace=TRUE)

y5

[1] 107 106 107 108 104 110 107 110 104 105 107 107 101 103 109 110 110 108

[19] 107 110 103 110 103 106 108 103 106 103 101 108 104 103 103 106 103 110

[37] 102 102 104 103 101 109 104 106 109 108 105 110 110 101 103 110 102 101

[55] 102 102 108 110 105 104 109 105 109 101 109 106 107 104 105 107 104 110

[73] 107 106 108 103 104 102 106 101 103 106 104 101 107 101 104 109 107 110

[91] 110 107 109 107 105 103 107 103 104 107 102 103 103 102 109 104 104 101

[109] 104 106 109 108 106 106 104 104 101 101 110 103

t(x5)%*%y5

输出结果

[,1]

[1,] 1333499

范例6

x6<-sample(51:60,120,replace=TRUE)

x6

[1]  51 53 55 60 58 53 53 58 51 59 59 51 58 58 52 55 51 60 56 59 56 56 58 56 56

[26] 58 52 54 60 54 55 51 56 55 53 59 58 59 60 58 56 58 56 54 56 51 60 58 58 53

[51] 53 52 53 51 55 53 57 59 55 53 53 56 54 52 57 58 51 55 58 52 54 53 52 54 59

[76] 54 56 58 52 51 59 59 56 51 56 53 59 51 53 53 59 57 53 53 55 52 52 51 52 58

[101] 56 52 57 60 52 53 59 54 55 53 60 55 52 58 51 58 52 52 53 57

y6<-sample(0:1,120,replace=TRUE)

y6

[1] 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1

[38] 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0

[75] 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1

[112] 0 0 0 1 1 0 1 0 0

t(x6)%*%y6

输出结果

[,1]

[1,] 2692

范例7

x7<-sample(c(5,15,25,35,45,55,65,75,85,95),120,replace=TRUE)

x7

[1]  15 75 45 15 35 25 45 45 85 25 75 45 15 5 45 15 45 35 55 45 15 85 45 95 85

[26] 35 75 45 25 55 45 25 95 95 65 75 5 85 25 55 95 65 65 65 45 45 25 15 5 45

[51] 25 25 5 95 55 55 95 95 35 45 25 5 15 95 75 25 65 65 25 35 75 25 75 25 65

[76] 95 75 55 25 5 15 65 65 5 35 55 75 15 95 35 15 95 95 5 55 35 95 5 45 25

[101] 75 75 35 35 45 55 25 65 35 45 35 35 95 85 35 35 5 55 5 85

y7<-sample(c(1,11,21,31,41,51,61,71,81,91),120,replace=TRUE)

y7

[1] 41 31 31 41 71 11 51 31 11 41 41 31 91 71 11 21 91 11 11 11 41 1 31 31 61

[26] 21 51 41 31 11 81 31 71 91 21 1 21 11 31 11 41 71 71 21 51 41 31 81 81 41

[51] 71 31 11 51 71 61 41 81 61 61 21 71 41 91 1 61 91 21 21 61 41 11 91 81 31

[76] 1 31 31 71 41 41 61 71 11 51 71 41 81 91 81 31 31 41 61 21 91 91 61 1 31

[101] 81 51 91 51 81 71 41 31 21 41 71 61 41 71 91 21 71 21 51 1

t(x7)%*%y7

输出结果

[,1]

[1,] 264460

范例8

x8<-rnorm(25,5,0.04)

x8

[1] 5.044193 4.965799 5.016561 4.936845 5.091920 4.978903 4.975891 4.981731

[9] 5.002986 5.003291 5.049467 4.940315 5.022184 5.029431 5.025540 5.066160

[17] 5.002058 4.969025 4.995391 5.006298 5.044991 4.993655 5.017182 5.020555

[25] 4.939784

y8<-rnorm(25,5,0.08)

y8

[1] 5.103655 4.963152 5.184913 5.150147 4.977731 5.040406 5.104955 5.062985

[9] 5.036312 5.082053 5.019926 5.009339 5.031032 4.851256 4.876433 4.908972

[17] 4.957003 5.039052 5.048009 5.030555 5.095683 4.898264 4.943438 4.901391

[25] 5.007738

t(x8)%*%y8

输出结果

[,1]

[1,] 627.2037

以上是 如何像数学中那样将R中的两个向量相乘? 的全部内容, 来源链接: utcz.com/z/321860.html

回到顶部