首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用通用数值场总结两种分离数据的同时group_by

用通用数值场总结两种分离数据的同时group_by
EN

Stack Overflow用户
提问于 2020-08-14 18:58:15
回答 1查看 25关注 0票数 0

我有一个数据A,由“名称”,“度量”组成。我有另一个由“类型”、“度量”组成的数据格式B。我想执行一个摘要操作使用每个‘名称’组的A在每个‘类型’组的B使用‘度量值’字段。例如:

A有:

代码语言:javascript
复制
Name | Measure
George   5
George   6
Tyrone   7
Tyrone   3

B有:

代码语言:javascript
复制
Type | Measure
cold      3
cold      2
hot       1
hot       5

我想做一个关于乔治和寒冷,乔治和热,泰隆和寒冷,泰隆和热的总结,在每一个总结中我找到了最小的绝对差(乔治在寒冷时是最小的(abs(5-3,5-2,6-3,6-2)) = 2,然后找出每个“名字”的“类型”,它的得分最低。对于包含许多组的大型数据集,我究竟如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-14 19:10:55

也许有一种更简单的方法,但你可以:

代码语言:javascript
复制
library(tidyverse)

crossing(
  distinct(A, Name),
  distinct(B, Type)
) %>%
  left_join(A, by = 'Name') %>%
  left_join(B, by = 'Type') %>%
  group_by(Name, Type) %>%
  summarise(minAbsDiff = min(abs(Measure.x - Measure.y))) %>%
  group_by(Name) %>%
  slice(which.min(minAbsDiff))

输出:

代码语言:javascript
复制
# A tibble: 2 x 3
# Groups:   Name [2]
  Name   Type  minAbsDiff
  <fct>  <fct>      <int>
1 George hot            0
2 Tyrone cold           0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63418613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档