% adorn_totals("row") 但我不知道这-6ren">
gpt4 book ai didi

R使用将成为不同分母的单元格在数据框中创建汇总百分比

转载 作者:行者123 更新时间:2023-12-04 13:07:48 26 4
gpt4 key购买 nike

这是我的数据框。它不是很长 - 只有六行。

enter image description here

df <- structure(list(Send_Month = c("2021-05", "2021-06", "2021-07", 
"2021-05", "2021-06", "2021-07"), Order_Result = c("No", "No",
"No", "Yes", "Yes", "Yes"), Email_Send = c(135, 495, 475, 7,
28, 25), Unique_Email_Opens = c(45, 149, 143, 7, 28, 25), Unique_Email_Clicks = c(6,
21, 10, 7, 28, 25), Total_Orders = c(37, 106, 46, 7, 28, 25)), row.names = c(NA,
-6L), groups = structure(list(Send_Month = c("2021-05", "2021-06",
"2021-07"), .rows = structure(list(c(1L, 4L), c(2L, 5L), c(3L,
6L)), ptype = integer(0), class = c("vctrs_list_of", "vctrs_vctr",
"list"))), row.names = c(NA, -3L), class = c("tbl_df", "tbl",
"data.frame"), .drop = TRUE), class = c("grouped_df", "tbl_df",
"tbl", "data.frame"))

我无法想象如何获得可以绘制成条形图的汇总结果。我试图在这里进行一些分组:

当月份相同(例如“2021-05”)并且我查看 Email_Send 变量时,我可以看到发送的 142 封电子邮件中有 7 封(即 135+7)导致了订单.我还可以看到打开的 52 封电子邮件中有 7 封(即 45+7)导致了订单。在点击的 13 封电子邮件中,有 7 封(即 6+7)导致了订单。这是针对“2021-05”组的。

我如何为每个分组创建这些统计信息,以便我可以看到每个组的百分比如何变化,其中分母不断变化?

我尝试使用 janitor 包一秒钟,只是为了调整自己,我首先过滤以仅包含 2021-05 组:

df_may <- df %>%
filter(Send_Month == "2021-05")

df_may %>%
adorn_totals("row")

enter image description here

但我不知道这种方法对于一起查看所有组是否非常灵活,而且我也不知道我是否真的想要一个摘要行或一个新列。所以我不知道我是否在朝着正确的方向前进。

最佳答案

谢谢亲爱的@ThomasIsCoding有关使用 proportions 函数代替 .x/sum(.x) 的绝妙技巧。

library(dplyr)
library(purrr)

df %>%
group_by(Send_Month, .add = TRUE) %>%
group_split() %>%
map(~ .x %>%
mutate(across(!c(1, 2), ~ proportions(.x))))

[[1]]
# A tibble: 2 x 6
Send_Month Order_Result Email_Send Unique_Email_Opens Unique_Email_Clicks Total_Orders
<chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 2021-05 No 0.951 0.865 0.462 0.841
2 2021-05 Yes 0.0493 0.135 0.538 0.159

[[2]]
# A tibble: 2 x 6
Send_Month Order_Result Email_Send Unique_Email_Opens Unique_Email_Clicks Total_Orders
<chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 2021-06 No 0.946 0.842 0.429 0.791
2 2021-06 Yes 0.0535 0.158 0.571 0.209

[[3]]
# A tibble: 2 x 6
Send_Month Order_Result Email_Send Unique_Email_Opens Unique_Email_Clicks Total_Orders
<chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 2021-07 No 0.95 0.851 0.286 0.648
2 2021-07 Yes 0.05 0.149 0.714 0.352

关于R使用将成为不同分母的单元格在数据框中创建汇总百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68612034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com