R根据信息和另一个数据帧的行数将函数应用于数据帧的所有行

时间:2019-07-31 16:56:07

标签: dataframe apply

请假定以下两个数据帧:

a = data.frame(x = c(2,1,3),
               y = c(4,3,4),
               z = c(5,4,5))

b = data.frame(draw = c(1,2,3,4),
               x1 = c(1,2,3,4),
               x2 = c(2,3,4,5),
               x3 = c(3,3,1,2),
               x4 = c(4,2,3,8),
               x5 = c(0,2,4,1))

我现在想在{b)的所有行上应用rowsum函数,就像我在数据帧(a)中的行一样多。此外,数据帧(a)包含有关我要执行数据求和的数据帧(b)中哪些列的列信息。

因此,理想的结果是具有12行的数据帧。

  • 第1行应显示(b)中第2、4、5列的b [1,]行总和(可以在数据帧a [1,]中找到。
  • 第2行应显示(b)中第1,3,4列的b [1,]行总和
  • 第12行应显示(b)中第3、4、5列的b [4,]行总和(可以在数据帧a [3,]中找到。

因此它应该看起来像:

draw    rowsum
1       8
1       6
1       9
2       7
2       8
2       8
3       ...
3       ...
3       ...
4       ...
4       ...
4       15

有什么想法吗?我想我可能会寻找一些数据帧乘法或应用功能?我知道我可以通过循环遍历所有a * b组合来做我想做的事,但是我想知道是否还有更优雅的东西。

谢谢!

0 个答案:

没有答案