Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. State Bounced Opened Delivered
  2. FL 2 1 0
  3. NY 0 1 1
  4.  
  5. State Total
  6. NY 2
  7. FL 3
  8.  
  9. State Bounced Opened Delivered
  10. FL 66.66 33.33 0
  11. NY 0 50 50
  12.  
  13. dt1[, percen:=Bounced/dt2$Total]
  14.  
  15. cbind(State = df1$State,
  16. df1[, -1, with = FALSE]/df2$Total[match(df1$State, df2$State)]* 100)
  17.  
  18. # State Bounced Opened Delivered
  19. #1: FL 66.667 33.333 0
  20. #2: NY 0.000 50.000 50
  21.  
  22. dt1 <- data.table(State=c('FL','NY'), Bounced=c(2,0),
  23. Opened=c(1,1), Delivered=c(0,1), key='State')
  24. dt2 <- data.table(State=c('NY','FL'), Total=c(2,3), key='State')
  25.  
  26. colsToDivide = c('Bounced','Opened','Delivered')
  27.  
  28. dt1[dt2, (colsToDivide) := lapply(mget(colsToDivide), function(x) {x/Total} ) ]
  29.  
  30. State Bounced Opened Delivered
  31. 1: FL 0.6666667 0.3333333 0.0
  32. 2: NY 0.0000000 0.5000000 0.5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement