整理R的方式来存储data.frame中每一行的集合或向量?

问题描述 投票:0回答:1

为data.frame的每个记录/行存储集合(例如c(...))的整洁方法是什么?

示例

假设我们在一个数据框中有customers,并想将每个客户的短语集合添加到客户data.frame中?


customers <- data.frame(customer_number=c(1,2,3), stringsAsFactors = F)

#   customer_number
# 1               1
# 2               2
# 3               3


transactions <- data.frame(customer_number=c(3,3,1,1,3),
                           item=c("milkshake", "burger", "apple", "fries", "water"),
                           stringsAsFactors = F)

#   customer_number      item
# 1               3 milkshake
# 2               3    burger
# 3               1     apple
# 4               1     fries
# 5               3     water

客户1购买了项目c('apple', 'fries'),客户2没有购买任何东西,客户3购买了项目c('milkshake', 'burger', 'water')

将数据存储在customers表中的最佳方法是什么,也就是说,每个客户严格只存储一行?

注意

  • 基本上是尝试为data.frame的每一行存储一个集合(例如c(...))。
  • 我曾考虑将集合存储为以逗号分隔的字符串,这似乎不太明智
  • 我已经考虑过创建更多行(实际上是left_join(transactions,customer),但当每行存储为一位顾客时,数据更有意义(因为数据中的all其他20+列适合该结构) )。
  • 下一步将是对生成的data.frame(或数据结构)进行分析,因此该方法应适合该用例(转换为字符串对此不起作用)

为data.frame的每个记录/行存储集合(例如c(...))的整洁方法是什么?示例假设我们在一个数据框中有客户,并且想要添加每个客户的...

r tidyverse tidy
1个回答
0
投票

我们可以将这些项目存储为列表。

© www.soinside.com 2019 - 2024. All rights reserved.