r - (R) 行求和的替代方式,具有相似名称的多个列
问题描述
所以,我不知道标题是否易于理解,但基本上我想将其更改为尽可能少的代码:
data %>%
group_by(name) %>%
mutate(
plataforma.3DS = sum(plataforma.3DS),
plataforma.PS3 = sum(plataforma.PS3),
plataforma.PS4 = sum(plataforma.PS4),
plataforma.PSP = sum(plataforma.PSP),
plataforma.PSV = sum(plataforma.PSV),
plataforma.Wii = sum(plataforma.Wii),
plataforma.WiiU = sum(plataforma.WiiU),
plataforma.X360 = sum(plataforma.X360),
plataforma.XOne = sum(plataforma.XOne)
)
我还有一些其他列需要执行此操作,那么如何减少我的代码?提前致谢。
解决方案
我们可以用 指定它across
。请注意,mutate
将列值替换为该列的值sum
。
library(dplyr)
data %>%
group_by(name) %>%
mutate(across(starts_with('plataforma'), sum))
它的目的是为每列返回一个总和,mutate
将summarise
data %>%
group_by(name) %>%
summarise(across(starts_with('plataforma'), sum), .groups = 'drop')
注意:标题指定了行总和,而 OP 帖子中显示的代码正在执行列总和。
推荐阅读
- ssl - Python ssl:check_hostname 中的 IP 地址
- arrays - Angular 9 rxjs - forkJoin 返回 Observables 数组而不是值数组
- c# - 使用 Kinect C# 从红外位图中裁剪人脸图像
- django - 如何在 Django 中使用重组标签
- php - 使用 javascript 在多个表上创建搜索功能
- php - 如何在 PHP ImageMagick 中使用 -auto-level +level-colors 命令参数
- python - 如何使用 Python 通过 Qualtrics API 下载 Qualtrics 调查回复
- c# - 在后台 C# 中解压缩文件
- azure - 具有时间范围的 Log Analytics KQL 在使用“工作区”的 App Insights 中不起作用
- python - Python 警告 - 在自定义警告消息末尾删除原始警告输出的任何方法