(tidyverse方法)计算几列中的行和,其中要包含的列信息来自不同的数据框

德申

假设以下数据:

dat <- data.frame(x1 = c(1, 2, 3, 4, 5),
                  x2 = c(2, 3, 4, 5, 6),
                  x3 = c(3, 4, 5, 6, 7),
                  x4 = c(7, 2, 3, 4, 5),
                  x5 = c(7, 2, 1, 4, 5))

进一步假设以下查找表:

lookup_positions <- data.frame(v1 = c(1,3,5),
                               v2 = c(1,2,5),
                               v3 = c(1,3,4),
                               v4 = c(2,3,5))

现在,我要执行以下操作:对于dat我中的每一行,我都想要遍历中指定的所有组合lookup_positions并计算中指定dat位置的行总和lookup_positions

因此,对于其中的所有行,dat我想计算的行总和dat[,c(1,3,5)],然后我要计算的行总和,dat[, c(1,2,5)]依此类推。所以我基本上计算了4行总和。

我知道如何使用一个循环做到这一点的基础R,我现在也怎么做,在tidyverse方法的一个行总和,但不知道如何做到这一点的中提到的所有版本中lookup_positions没有循环与tidyverse。

因此,预期结果将是:

  x1 x2 x3 x4 x5 rowsum1 rowsum2 rowsum3 rowsum4
1  1  2  3  7  7      11      10      11      12
2  2  3  4  2  2       8       7       8       9
3  3  4  5  3  1       9       8      11      10
4  4  5  6  4  4      14      13      14      15
5  5  6  7  5  5      17      16      17      18

这是我在tidyverse中的lookup_positions之一中得到的。但是我在如何针对所有查找位置归纳这一问题上陷入了困境。

dat %>%
  mutate(rowsum1 = apply(across(everything()), 1, function(x) sum(x[as.numeric(lookup_positions[1,])])))

我知道对于我的4个查找位置,我可以简单地执行复制粘贴并使用它完成操作,但是我的现实生活数据具有数百种查找位置组合。

tmfmnk

一个dplyrpurrr选择可能是:

map2(.x = asplit(lookup_positions, 2),
     .y = 1:ncol(lookup_positions),
     ~ dat %>%
      mutate(!!paste0("rowsums", .y) := rowSums(select(., .x)))) %>%
 reduce(full_join)

  x1 x2 x3 x4 x5 rowsums1 rowsums2 rowsums3 rowsums4
1  1  2  3  7  7       11       10       11       12
2  2  3  4  2  2        8        7        8        9
3  3  4  5  3  1        9        8       11       10
4  4  5  6  4  4       14       13       14       15
5  5  6  7  5  5       17       16       17       18

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从数据框中计算每日参数,其中包含行中的小时值和几列感兴趣的列

来自分类Dev

使用R将数据ID填入数据框中的'NA'中,其中包含行中包含患者ID的信息

来自分类Dev

在python中过滤并计算数据框的长度,该数据框包含不同列中的值

来自分类Dev

动态表,其中包含来自MediaWiki其他页面上信息框数据的数据

来自分类Dev

将数据框的结果按几列分组,并计算每列不同的唯一值

来自分类Dev

提取行,其中列的列表在pandas数据框中包含某些值

来自分类Dev

从数据框中删除包含跨列重复信息的行

来自分类Dev

匹配来自不同列/数据框的数据-在R中工作

来自分类Dev

tidyverse计算几列中每行的排名

来自分类Dev

计算数据框中列的摘要统计信息

来自分类Dev

如何填充一个新的数据框,其中包含来自两个不同表中项目的所有可能组合

来自分类Dev

计算R中数据框中包含组合的行

来自分类Dev

SQL交叉匹配来自不同列和行的数据

来自分类Dev

计算数据框中每一行和特定列在列表中的出现次数

来自分类Dev

熊猫:在一行中向数据框添加几列

来自分类Dev

根据几列从熊猫数据框中删除行

来自分类Dev

Oracle Trigger 更新列,其中包含来自同一表中另一列的信息

来自分类Dev

将数据框中的列分成其他几列

来自分类Dev

熊猫结合了几列信息,其中值取决于同一行中的值

来自分类Dev

汇总来自不同数据框的列的熊猫

来自分类Dev

合并来自不同数据框的文本列

来自分类Dev

合并数据框中的行和列

来自分类Dev

熊猫:计算数据框的行和列中零的比例

来自分类Dev

计算整个数据框(列和行)中的正确/错误发生次数

来自分类Dev

将来自不同数据框的列添加到PySpark中的目标数据框

来自分类Dev

显示文本数据框行,其中包含字符和空格(Python)以外的其他内容

来自分类Dev

如何仅计算和计算panda数据框中以及dask数据框中的选定列?

来自分类Dev

在R中,如何根据不同的列标准计算数据框中的y / y和w / w?

来自分类Dev

计算列,其中包含一行中许多列的值的总和

Related 相关文章

  1. 1

    从数据框中计算每日参数,其中包含行中的小时值和几列感兴趣的列

  2. 2

    使用R将数据ID填入数据框中的'NA'中,其中包含行中包含患者ID的信息

  3. 3

    在python中过滤并计算数据框的长度,该数据框包含不同列中的值

  4. 4

    动态表,其中包含来自MediaWiki其他页面上信息框数据的数据

  5. 5

    将数据框的结果按几列分组,并计算每列不同的唯一值

  6. 6

    提取行,其中列的列表在pandas数据框中包含某些值

  7. 7

    从数据框中删除包含跨列重复信息的行

  8. 8

    匹配来自不同列/数据框的数据-在R中工作

  9. 9

    tidyverse计算几列中每行的排名

  10. 10

    计算数据框中列的摘要统计信息

  11. 11

    如何填充一个新的数据框,其中包含来自两个不同表中项目的所有可能组合

  12. 12

    计算R中数据框中包含组合的行

  13. 13

    SQL交叉匹配来自不同列和行的数据

  14. 14

    计算数据框中每一行和特定列在列表中的出现次数

  15. 15

    熊猫:在一行中向数据框添加几列

  16. 16

    根据几列从熊猫数据框中删除行

  17. 17

    Oracle Trigger 更新列,其中包含来自同一表中另一列的信息

  18. 18

    将数据框中的列分成其他几列

  19. 19

    熊猫结合了几列信息,其中值取决于同一行中的值

  20. 20

    汇总来自不同数据框的列的熊猫

  21. 21

    合并来自不同数据框的文本列

  22. 22

    合并数据框中的行和列

  23. 23

    熊猫:计算数据框的行和列中零的比例

  24. 24

    计算整个数据框(列和行)中的正确/错误发生次数

  25. 25

    将来自不同数据框的列添加到PySpark中的目标数据框

  26. 26

    显示文本数据框行,其中包含字符和空格(Python)以外的其他内容

  27. 27

    如何仅计算和计算panda数据框中以及dask数据框中的选定列?

  28. 28

    在R中,如何根据不同的列标准计算数据框中的y / y和w / w?

  29. 29

    计算列,其中包含一行中许多列的值的总和

热门标签

归档