You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

应用group_by和summarise(sum),但保留大量其他列。

你可以使用dplyr库中的group_bysummarise函数来实现这个目标。以下是一个示例代码:

library(dplyr)

# 创建示例数据框
df <- data.frame(
  group = c("A", "A", "B", "B"),
  value1 = c(1, 2, 3, 4),
  value2 = c(5, 6, 7, 8)
)

# 使用group_by和summarise函数
df_summary <- df %>%
  group_by(group) %>%
  summarise(
    sum_value1 = sum(value1),
    sum_value2 = sum(value2)
  )

# 输出结果
df_summary

这段代码中,我们首先使用group_by(group)将数据按照group列进行分组。然后使用summarise函数计算每个组中value1value2的总和,并将结果存储在新的数据框df_summary中。在summarise函数中,我们可以通过为每个汇总列创建一个新的列名来保留其他列。

运行这段代码后,将得到以下结果:

# A tibble: 2 x 3
  group sum_value1 sum_value2
  <chr>      <dbl>      <dbl>
1 A              3         11
2 B              7         15

注意,dplyr库中的group_bysummarise函数会返回一个新的数据框,因此我们将结果存储在df_summary中。如果你想要在原始数据框中保留分组和汇总结果,可以使用mutate函数。以下是相应的代码示例:

df_summary <- df %>%
  group_by(group) %>%
  summarise(
    sum_value1 = sum(value1),
    sum_value2 = sum(value2)
  ) %>%
  ungroup() %>%
  mutate(
    sum_value1 = if_else(is.na(sum_value1), value1, sum_value1),
    sum_value2 = if_else(is.na(sum_value2), value2, sum_value2)
  )

# 输出结果
df_summary

这段代码中,我们在summarise函数中计算了总和,并在mutate函数中使用if_else函数将汇总结果与原始数据进行合并。这样,我们可以在保留其他列的同时也保留分组和汇总结果。

运行这段代码后,将得到以下结果:

# A tibble: 4 x 4
  group value1 value2 sum_value1 sum_value2
  <chr>  <dbl>  <dbl>      <dbl>      <dbl>
1 A          1      5          3         11
2 A          2      6          3         11
3 B          3      7          7         15
4 B          4      8          7         15

注意,在这个示例中,我们假设没有缺失值。如果有缺失值,你可以根据实际情况进行修改。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

NL2SQL:智能对话在打通人与数据查询壁垒上的探索 | 社区征文

### 1、场景介绍某银行业务人员想要查询某款理财产品中原财富1号9月销售额度,对于数据工程人员则会考虑写一个SQL语句:`Select sum(sale) from table_name where month= 9 and product_name =‘中原财富1号’`... 但Spider引入了更多的SQL用法,例如Group By、Order By、Having等高阶操作,甚至需要Join不同表,更贴近真实场景,所以难度也更大。目前准确率最高只有54.7%。WikiTableQuestions:该数据集是斯坦福大学于2015年提出的...

干货|火山引擎DataTester:5个优化思路,构建高性能A/B实验平台

产品功能等业务应用场景,提供从A/B实验设计、实验创建、指标计算、统计分析到最终评估上线等贯穿整个A/B实验生命周期的服务。DataTester经过了字节跳动业务的多年打磨,在字节内部已累计完成150万次A/B实验,在外部也... GROUP BY uc2) tab ON et.uc1=tab.uc2 WHERE multiIf(server_time < 1609948800, server_time, TIME > 2000000000, toUInt32(TIME / 1000), TIME)>=first_time A...

干货|以 100GB SSB 性能测试为例,通过 ByteHouse 云数仓开启你的数据分析之路

从而主要用于模拟测试 OLAP 引擎和轻量数仓场景下的查询性能。由于 SSB 基准测试较为中立,并贴近现实的商业场景,因此在学界及工业界有广泛的应用。 SSB 基准测试中对应的表结构如下所示,可以看到 SSB 主要采用星型模型,其中包含了 1 个事实表 lineorder 和 4 个维度表 customer, part, dwdate 以及 supplier,每张维度表通过 Primary Key 和事实表进行关联。测试通过执行 13 条 SQL 进行查询,包含了多表关联,group by,复...

火山引擎DataTester:5个优化思路,构建高性能A/B实验平台

**导读:** DataTester是由火山引擎推出的A/B测试平台,覆盖推荐、广告、搜索、UI、产品功能等业务应用场景,提供从A/B实验设计、实验创建、指标计算、统计分析到最终评估上线等贯穿整个A/B实验生命周期的服务。DataT... GROUP BY uc2) tab ON et.uc1=tab.uc2 WHERE multiIf(server_time < 1609948800, server_time, TIME > 2000000000, toUInt32(TIME / 1000), TIME)>=first_time AND first_time>0 GROUP BY uc1, ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

应用group_by和summarise(sum),但保留大量其他列。-优选内容

GROUP BY 语法
GROUP BY 语法的格式如下。 SQL * SELECT Key, 聚合函数 GROUP BY [ Key Alias number ]参数说明: 参数 说明 Key 日志中的字段名称或聚合函数的计算结果列,指定为支持单列或多列。 Alias Alias 即别名,在此表示根据日志字段或聚合函数计算结果的别名进行分组。 number 某个字段在 SELECT 语句中的序号,从 1 开始计数。 聚合函数 通常情况下,GROUP BY 语法可以与多个聚合函数搭配使用,例如 MIN、MAX、AVG、SUM、COUNT...
GROUP BY 语法
GROUP BY 语法的格式如下。 SQL * SELECT Key, 聚合函数 GROUP BY [ Key Alias number ]参数说明: 参数 说明 Key 日志中的字段名称或聚合函数的计算结果列,指定为支持单列或多列。 Alias Alias 即别名,在此表示根据日志字段或聚合函数计算结果的别名进行分组。 number 某个字段在 SELECT 语句中的序号,从 1 开始计数。 聚合函数 通常情况下,GROUP BY 语法可以与多个聚合函数搭配使用,例如 MIN、MAX、AVG、SUM、COUNT...
NL2SQL:智能对话在打通人与数据查询壁垒上的探索 | 社区征文
### 1、场景介绍某银行业务人员想要查询某款理财产品中原财富1号9月销售额度,对于数据工程人员则会考虑写一个SQL语句:`Select sum(sale) from table_name where month= 9 and product_name =‘中原财富1号’`... 但Spider引入了更多的SQL用法,例如Group By、Order By、Having等高阶操作,甚至需要Join不同表,更贴近真实场景,所以难度也更大。目前准确率最高只有54.7%。WikiTableQuestions:该数据集是斯坦福大学于2015年提出的...
干货|火山引擎DataTester:5个优化思路,构建高性能A/B实验平台
产品功能等业务应用场景,提供从A/B实验设计、实验创建、指标计算、统计分析到最终评估上线等贯穿整个A/B实验生命周期的服务。DataTester经过了字节跳动业务的多年打磨,在字节内部已累计完成150万次A/B实验,在外部也... GROUP BY uc2) tab ON et.uc1=tab.uc2 WHERE multiIf(server_time < 1609948800, server_time, TIME > 2000000000, toUInt32(TIME / 1000), TIME)>=first_time A...

应用group_by和summarise(sum),但保留大量其他列。-相关内容

SQL自定义查询(SaaS)

国际站接入应用的event_date均为UTC(零时区)时间。 例如: event_time = 1597273200,国内站event_date为'2020-08-13' event_time = 1597273200,国际站event_date为'2020-08-12' 国内站接入应用: 查询北京时间2020年... group by user_unique_idhaving sum(event1_cnt) > sum(event2_cnt) 数组函数 arrayEnumerate(arr) 返回与源数组大小相同的数组,其中每个元素表示与其下标对应的原数组元素在原数组中出现的次数。常用用法类似hive...

HAVING 子句

HAVING 子句用于过滤出符合特定条件的分组结果。 语法格式HAVING 语法的格式如下: SQL HAVING bool_expression说明 HAVING 子句用于过滤分组(GROUP BY)结果,支持与聚合函数(SUM、AVG等)一起使用;WHERE 子句用于在分组之前过滤原始数据,不支持与聚合函数(SUM、AVG等)一起使用。 HAVING 子句的过滤操作发生在分组(GROUP BY)之后,排序(ORDER BY)之前。 参数说明如下: 参数 说明 bool_expression 布尔表达式,用于筛选分组结果。 ...

SQL自定义查询(私有化)

国际站接入应用的event_date均为UTC(零时区)时间。例如:event_time = 1597273200,国内站event_date为'2020-08-13'event_time = 1597273200,国际站event_date为'2020-08-12' 国内站接入应用: 查询北京时间2020年8月... group by user_unique_idhaving sum(event1_cnt) > sum(event2_cnt) 数组函数 arrayEnumerate(arr) 返回与源数组大小相同的数组,其中每个元素表示与其下标对应的原数组元素在原数组中出现的次数。常用用法类似hive...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

干货|以 100GB SSB 性能测试为例,通过 ByteHouse 云数仓开启你的数据分析之路

从而主要用于模拟测试 OLAP 引擎和轻量数仓场景下的查询性能。由于 SSB 基准测试较为中立,并贴近现实的商业场景,因此在学界及工业界有广泛的应用。 SSB 基准测试中对应的表结构如下所示,可以看到 SSB 主要采用星型模型,其中包含了 1 个事实表 lineorder 和 4 个维度表 customer, part, dwdate 以及 supplier,每张维度表通过 Primary Key 和事实表进行关联。测试通过执行 13 条 SQL 进行查询,包含了多表关联,group by,复...

火山引擎DataTester:5个优化思路,构建高性能A/B实验平台

**导读:** DataTester是由火山引擎推出的A/B测试平台,覆盖推荐、广告、搜索、UI、产品功能等业务应用场景,提供从A/B实验设计、实验创建、指标计算、统计分析到最终评估上线等贯穿整个A/B实验生命周期的服务。DataT... GROUP BY uc2) tab ON et.uc1=tab.uc2 WHERE multiIf(server_time < 1609948800, server_time, TIME > 2000000000, toUInt32(TIME / 1000), TIME)>=first_time AND first_time>0 GROUP BY uc1, ...

干货| 火山引擎在行为分析场景下的ClickHouse JOIN优化

byteimg.com/tos-cn-i-tlddhu82om/09168afb5eee44faaec400468faa7c2d~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1714926048&x-signature=VayrWCr4BEfxsIcGqGmGPbz%2FoUc%3D)事件表:存储用户行为数据,以**用户****ID**分shard存储。 ``` --出了主要的字段信息 CREATE TABLE tob_apps_all ( `tea_app_id` UInt32, --应用ID...

在线学习FTRL介绍及基于Flink实现在线学习流程|社区征文

和复杂度。另外稀疏的模型相对可解释性也较好,这也正是通常所说的 L1 正则化的优点。## 工程实现 逻辑回归下的per-coordinate FTRL_Proximal的伪代码如下:![image.png](https://p6-juejin.byteimg.com/tos... return np.sum(np.nan_to_num(-y * np.log(y_hat) - (1 - y) * np.log(1 - y_hat))) @staticmethod def grad(y, y_hat, x): '''交叉熵损失函数对权重w的一阶导数 ''' re...

高维向量相似度搜索(pg_vector)

ivfflat 索引要求被索引的 vector 维度必须小于等于 2000。 ivfflat 不支持多列索引。 ivfflat 索引仅仅适用于 order by,不适用于 where 过滤。因为 where 条件只能用于 bool 类型或者 bool 表达式,而 ivffl... from tbl_vector group by id; sum() 函数用于对 vector 的每一维度进行求和,使用方法如下示例所示: sql insert into tbl_vector (tc1) select array_agg(random())::vector(5) from generate_series(1.0,5.0) ;...

干货|ClickHouse进阶:性能提升20倍!深度解析Projection优化实践

按照不同进行数据重排,对于不同条件快速过滤数据**●**支持aggregate projection, 使用聚合查询在源表上直接定义出预聚合模型**●**查询分析能根据查询代价,自动选择最优Projection进行查询优化... `ALTER TABLE tea_data.events ADD PROJECTION agg_sum_proj_1` `(` `SELECT` `app_id,` `user_id,` `event_date,` `sum(action_duration)` `GROUP BY app_id,` `user_id, event_date` `);` ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询