r - 如何将 transmute 与 grep 函数结合起来?
问题描述
我正在尝试找到一种方法来使用rowSums()
现有数据框中的函数创建一个包含变量的新表。例如,调用了我现有的数据框'asn'
,我想总结变量标题中包含“2011”的所有变量的每一行的值。我想要一个只包含一个名为的新表,asn_y2011
其中包含使用包含“2011”的变量的每一行的总和
数据
structure(list(row = 1:3, south_2010 = c(1L, 5L, 7L), south_2011 = c(4L,
0L, 4L), south_2012 = c(5L, 8L, 6L), north_2010 = c(3L, 4L, 1L
), north_2011 = c(2L, 6L, 0L), north_2012 = c(1L, 1L, 2L)), class = "data.frame", row.names = c(NA,
-3L))
现有的'asn'
数据框如下所示
row south_2010 south_2011 south_2012 north_2010 north_2011 north_2012
1 1 4 5 3 2 1
2 5 0 8 4 6 1
3 7 4 6 1 0 2
我正在尝试使用以下功能:
asn %>%
transmute(asn_y2011 = rowSums(, grep("2011")))
得到这样的东西
row asn_y2011
1 6
2 6
3 4
解决方案
继续你的代码,grep()
应该像这样工作:
library(dplyr)
asn %>%
transmute(row, asn_y2011 = rowSums(.[grep("2011", names(.))]))
# row asn_y2011
# 1 1 6
# 2 2 6
# 3 3 4
或者你可以使用整洁的选择c_across()
:
asn %>%
rowwise() %>%
transmute(row, asn_y2011 = sum(c_across(contains("2011")))) %>%
ungroup()
推荐阅读
- python - 什么是使用 Python 的准确 Twitter 情绪分析解决方案?
- c - 如何使用 main 中的函数打开文件 (a_file.text)?
- python-3.x - Python中单行嵌套循环中的迭代顺序
- python-3.x - Azure Databricks - 写入 Az SQL 表
- pdf - PDF JS:PDF 未在 IE 浏览器中加载
- r - 如何在 r 中使用 for 循环标记大量数据点?
- swift - UILabel 不做两行
- java - 从 docx 转换后尝试在 html 中添加一些内容时,文本重叠
- json - 将 Map 键值对转换为 @responseBody 对象的 JSON 属性
- forms - 哪个输入属性适用于属性?