SHARE
TWEET

Untitled

a guest Feb 22nd, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ID <- c(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)                                  
  2.     period<- c(1, 2, 1, 2, 1, 2, 1, 2, 1, 2)                            
  3.     column1<- c(100, 400, 500, 300, 700, 800, 300, 100, 1100, 100)      
  4.     column2<- c(1500, 100,800,900,100,1100,1200,200,100,400)            
  5.     column3<- c(200, 1000, 200,NA,500,800,1100,300,100,2000)                    
  6.     df<- data.frame(ID, period, column1, column2, column3)
  7.  
  8. ID period column1 column2 column3
  9. 1      1     100    1500     200
  10. 1      2     400     100    1000
  11. 2      1     500     800     200
  12. 2      2     300     900      NA
  13. 3      1     700     100     500
  14. 3      2     800    1100     800
  15. 4      1     300    1200    1100
  16. 4      2     100     200     300
  17. 5      1    1100     100     100
  18. 5      2     100     400    2000
  19.      
  20. agent_number<- c(100, 200, 300)
  21. agent_name<- c("agent1", "agent2", "agent3")
  22. lookup_table<- data.frame(agent_number, agent_name)
  23.      
  24. ID period column1 column2 column3 column4 column5 column6 column7
  25.  1      1     100    1500     200       1  agent1  agent2    <NA>
  26.  1      2     400     100    1000       1  agent1    <NA>    <NA>
  27.  2      1     500     800     200       1  agent2    <NA>    <NA>
  28.  2      2     300     900      NA       0  agent3    <NA>    <NA>
  29.  3      1     700     100     500       1  agent1    <NA>    <NA>
  30.  3      2     800    1100     800       0    <NA>    <NA>    <NA>
  31.  4      1     300    1200    1100       1  agent3    <NA>    <NA>
  32.  4      2     100     200     300       1  agent1  agent2  agent3
  33.  5      1    1100     100     100       1  agent1  agent1    <NA>
  34.  5      2     100     400    2000       1  agent1    <NA>    <NA>
  35.      
  36. agent_number<- c("100", "200", "300")
  37. df %>% select(ID, column1:column3) %>%
  38. mutate_at(vars(column1:column3),list(~ ifelse(. == agent_number, 1, 0)))
  39.      
  40. left_join(df, lookup_table, by=c("column1"="agent_number"), suffix = c("", ".1"), suffixes_mandatory = c(FALSE, TRUE))
  41. left_join(df, lookup_table, by=c("column2"="agent_number"), suffix = c("", ".2"), suffixes_mandatory = c(FALSE, TRUE))
  42. ID period column1 column2 column3 agent_name
  43.  1      1     100    1500     200       <NA>
  44.  1      2     400     100    1000       <NA>
  45.  2      1     500     800     200       <NA>
  46.  2      2     300     900      NA       <NA>
  47.  3      1     700     100     500       <NA>
  48.  3      2     800    1100     800       <NA>
  49.  4      1     300    1200    1100       <NA>
  50.  4      2     100     200     300       <NA>
  51.  5      1    1100     100     100       <NA>
  52.  5      2     100     400    2000       <NA>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top