Using dcast from package reshape2

Post date: Mar 26, 2014 11:10:59 PM

dcast is from package reshape2

# Example#1 -- unique primary keys
wf_id <- c(1,1,3,4,5,6) seller_id <- c('abc','abc','abc','123','123','123') rule_id <- c('X','Y','X','Z','X','Z') action <- c('Ann','Inv','Inv','Ann','Inv','Inv')   df <- data.frame('wf'=wf_id,'seller_id'=seller_id, 'rule_id'=rule_id, 'action'=action)   # wf seller_id rule_id action # 1       abc       X    Ann # 1       abc       Y    Inv # 3       abc       X    Inv # 4       123       Z    Ann # 5       123       X    Inv # 6       123       Z    Inv   dcast(formula=wf+seller_id ~ rule_id, data=df) # wf seller_id    X    Y    Z # 1       abc  Ann  Inv <NA> # 3       abc  Inv <NA> <NA> # 4       123 <NA> <NA>  Ann # 5       123  Inv <NA> <NA> # 6       123 <NA> <NA>  Inv   
# Example#2 -- duplicated primary keys
  wf_id <- c(1,1,1,6,4,6) seller_id <- c('abc','abc','abc','123','123','123') rule_id <- c('X','Y','X','Z','X','Z') action <- c('Ann','Inv','Inv','Ann','Inv','Inv')   df <- data.frame('wf'=wf_id,'seller_id'=seller_id, 'rule_id'=rule_id, 'action'=action)   # wf seller_id rule_id action # 1       abc       X    Ann # 1       abc       Y    Inv # 1       abc       X    Inv # 6       123       Z    Ann # 4       123       X    Inv # 6       123       Z    Inv   dcast(formula=wf+seller_id ~ rule_id, data=df) # Using action as value column: use value.var to override. # Aggregation function missing: defaulting to length # wf seller_id X Y Z # 1       abc 2 1 0 # 4       123 1 0 0 # 6       123 0 0 2
Created by Pretty R at inside-R.org