我想在R中修改我的数据集,这样我就可以进行市场篮子分析

46qrfjad  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(177)

我需要在R中修改我的数据集,它看起来像一个经典的表,行中有观察值,列中有变量。具体来说,第一列报告由ID代码(InvoiceNo)标识的一组交易,第二列表示产品描述。我在数据集的图像下面复制它。enter image description here
具体地说,我的目的是获得一个适合用于市场篮子分析的表,其中按行具有不同的交易(InvoiceNo),按列具有不同的属性(Description)。换句话说,我希望获得二进制数据,指示在该特定事务中存在或不存在该特定产品(在Description列中报告)。我在数据集的图像下面复制了我希望它看起来的样子:enter image description here

nfeuvbwi

nfeuvbwi1#

您可以从tidyr使用pivot_wider
创建一个与您的数据集结构相同的数据集:

library(tidyr)
library(tibble)
library(dplyr)

df <- tibble(id = c(1,2,3,4,5,6), description = c('lalalala', 'blob', 'blob', 'foo', 'foo', 'lalalala'))

应用功能:

df %>%
  mutate(for_pivot = 1) %>% # creating a new column for your binary output
  pivot_wider(id_cols = 'id', names_from = 'description', values_from = 'for_pivot') %>% # pivoting
  mutate_all(coalesce, 0) # transforming all NA as 0

相关问题