r - R中表格中的顶级特征组合
问题描述
假设我们有下表,其中包含来自数据库的不同类别。
id <- c('id1','id2','id3','id4','id5')
visit_number <- c(3, 8, 10, 7,8)
page_views<- c(35, 85, 102, 7,18)
channel <-c('Natural Search', 'Paid Search', 'Social Network', 'Paid Search', 'Social Network')
country <- c('ES','ES','NL','DE','DE')
device <- c('PC','PC','Other','PC','Other')
sex <- c('F','F','M','M','M')
age <- c('18-30','18-30','18-30','>50','<40')
product <-c('SRSX11W.MX', 'SRSX11W.MX', 'DSC-HX400V //SF-8C4', 'SLT-A58Y//Q E38', 'DSC-HX400V + LCS-U21 + SF-8C4')
producy_category <- c('audio','audio','camera','tablets','camera')
price <- c(33.45, 82, 104.44, 72,88.45)
# Join the variables to create a data frame
df <-data.frame(id,visit_number,page_views,channel,country,device,sex,age,product,producy_category,price)
df
我想根据国家、渠道和产品类别来计算表现最好的组合。桌子要大得多。我应该做什么样的组合来预测这个?
解决方案
我们可以使用tidyverse
函数来创建country
、channel
和producy_category
计算sum
的所有组合price
。我们可以arrange
按降序排列输出以获得最佳组合。
library(tidyverse)
df %>%
distinct(country, channel, producy_category) %>%
do.call(crossing, .) %>%
pmap_df(~ df %>%
filter(channel == ..1, country == ..2, producy_category == ..3) %>%
group_by(channel, country, producy_category) %>%
summarise(price = sum(price))) %>%
arrange(desc(price)) -> result
推荐阅读
- ios - 在 Flutter 应用中显示自动强密码 iOS
- ios - 可以在 iOS 中使用 VB.NET 应用程序吗?
- python - 如何在熊猫数据框中删除重复项但根据特定列值保留行
- python - pre_delete 中的 Django FOREIGN KEY 约束失败
- c# - 如何使用 .NET 5 保存带有水印文本的 GIF
- wordpress - WordPress页面模板元素问题
- swift - Firebase 和 Swift:数组未正确插入
- ruby-on-rails - 有没有办法在 ahoy_events 表中更新或随着时间的推移跟踪事件?
- typescript - 有没有办法检测所有使用硬编码字符串而不是 i18n 翻译的打字稿文件?
- r - 有没有办法在 R(多 DV 和多 IV)中执行多变量 glm?