如何在 R 中将包含多行的 DataFrame 中的行值与包含单行的 DataFrame 相乘?
为了在 R 中将包含多行的 DataFrame 中的行值与包含单行的 DataFrame 相乘,我们可以按照以下步骤操作:
首先,创建一个包含多行的 DataFrame 和一个包含单行的 DataFrame。
然后,使用 mapply 函数将包含多行的 DataFrame 中的行值与包含单行的 DataFrame 相乘。
示例
创建第一个 DataFrame
让我们创建一个如下所示的 DataFrame:
x<-rpois(25,5) y<-rpois(25,2) z<-rpois(25,2) df1<-data.frame(x,y,z) df1
输出
执行上述脚本后,会生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):
x y z 1 8 4 0 2 8 2 1 3 2 1 2 4 4 1 4 5 6 5 1 6 4 2 1 7 6 1 3 8 4 3 3 9 3 1 2 10 3 3 1 11 6 0 3 12 7 1 2 13 3 4 5 14 7 2 4 15 2 2 2 16 5 6 2 17 2 0 2 18 5 2 0 19 4 1 3 20 5 2 1 21 3 3 1 22 4 0 1 23 5 3 2 24 4 2 4 25 5 1 2
创建第二个 DataFrame
让我们创建一个如下所示的 DataFrame:
df2<-data.frame(v1=5,v2=0,v3=2) df2
输出
v1 v2 v3 1 5 0 2
将两个 DataFrame 中的值相乘
使用 mapply 函数将包含多行的 DataFrame df1 中的行值与包含单行的 DataFrame df2 相乘:
x<-rpois(25,5) y<-rpois(25,2) z<-rpois(25,2) df1<-data.frame(x,y,z) df2<-data.frame(v1=5,v2=0,v3=2) mapply(`*`,df1,df2)
输出
x y z [1,] 25 0 8 [2,] 20 0 2 [3,] 50 0 6 [4,] 25 0 8 [5,] 10 0 8 [6,] 10 0 2 [7,] 30 0 4 [8,] 35 0 2 [9,] 40 0 4 [10,] 30 0 6 [11,] 30 0 0 [12,] 20 0 0 [13,] 20 0 2 [14,] 15 0 6 [15,] 25 0 0 [16,] 15 0 6 [17,] 10 0 0 [18,] 40 0 4 [19,] 35 0 4 [20,] 15 0 4 [21,] 15 0 0 [22,] 20 0 0 [23,] 30 0 2 [24,] 25 0 2 [25,] 35 0 6
广告