0

我有一张表,我想使用那里的信息与下面使用胶水包编写的内容混合,或者如果 r 中有其他包可以更好地处理这种情况,我愿意接受建议

第一张桌子

客户 平均
支付网络 ₦373.57
看护人 ₦321.20
球员 ₦306.57
青铜 ₦316.58

第二张表

支付网络 看护人 球员 青铜
低于平均水平 23% 50% 60% 90%
高于平均水平 77% 50% 40% 105

我想要的是创建一个场景,一旦在大括号中调用变量名,那么他应该使用 Glue 包或任何其他可以完美完成工作的包输入大括号中调用的值。

这就是我想要实现的

在这里,我希望从表中调用每个事务的两个最高平均值以输入大括号所在的位置

例如,{Minders} 和 {Play Network} 的每笔交易价值最高,但大约 {23%} 和 {50%} 的客户在 2 月份的总体购买量低于平均水平

输出当然不会显示大括号。我只是以它为例,主要输出将如下所示

Minders 和 Play-Network 的每笔交易价值最高,但在 2 月份,大约 23% 和 50% 的客户的总购买量低于平均水平

4

1 回答 1

0

首先,这是您的数据,格式更易于复制/粘贴,所有数值均以数字形式输入

dd1 <- read.table(text="Client,Average
Pay Network,373.57
Minders,321.20
Players,306.57
Bronze,316.58", sep=",", header=T)

dd2 <- read.table(text="Group,Pay Network,Minders,Players,Bronze
Below Average,23,50,60,90
Above Average,77,50,40,10", sep=",", header=T, check.names=F)

然后您可以结合这些表格来获取您想要的摘要信息

library(dplyr)
library(tidyr)

summary <- dd2 %>% 
  pivot_longer(-Group) %>% 
  filter(Group=="Below Average") %>% 
  inner_join(dd1, by=c("name"="Client")) %>% 
  slice_max(Average, n=2)
summary
# A tibble: 2 x 4
#   Group         name        value Average
#   <chr>         <chr>       <int>   <dbl>
# 1 Below Average Pay Network    23    374.
# 2 Below Average Minders        50    321.

现在我们有了感兴趣的输出,我们可以使用汇总表构建字符串。

glue::glue("{summary$name[1]} and {summary$name[2]} have the highest value per transaction, ",
           "yet about {summary$value[1]} and {summary$value[2]} of their customers made overall ", 
           "purchases below average value in the month of Feb")

这将给出你想要的字符串。

于 2022-02-23T20:05:25.700 回答