快速简便的方法将交易数据转换为每个唯一收据/发票的每个项目的计数

时间:2019-03-13 12:38:53

标签: r

我正在尝试转换形式的数据

receipts <- data.frame(receipt=c(193, 193, 193, 987, 215, 215), 
           product=c("spanner", "saw", "widget", "glue", "widget", "hammer"), 
           quantity=c(3,1,50,1,2,5), 
           stringsAsFactors = FALSE)

# i.e. 
#  receipt product quantity
#     193 spanner        3
#     193     saw        1
#     193  widget       50
#     987    glue        1
#     215  widget        2
#     215  hammer        5

转换为表格形式的数据

product_matrix <- data.frame(receipt=c(193,987,215), 
           spanner=c(3,0,0), 
           saw=c(1,0,0), 
           widget=c(50,0,2), 
           glue=c(0,1,0), 
           hammer=c(0,0,5), 
           stringsAsFactors = FALSE)
# i.e
# receipt spanner saw widget glue hammer
#     193       3   1     50    0      0
#     987       0   0      0    1      0
#     215       0   0      2    0      5

是否有快速简便的方法来做到这一点? (我正在研究自定义函数,但是它花费的时间比我想象的要长得多,并且认为这可能是一个相当常见的任务,可能已经存在一个函数)

0 个答案:

没有答案