Advertisement
Guest User

Untitled

a guest
Dec 20th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. set.seed(42)
  2. DF <- data.frame(key1=sample(letters[1:2],10,TRUE),
  3. key2=sample(letters[1:2],10,TRUE),
  4. key3=sample(letters[1:2],10,TRUE))
  5.  
  6. DF <- within(DF,{newkey <- interaction(key1,key2,key3,drop=TRUE)
  7. levels(newkey) <- paste0("key",seq_along(levels(newkey)))
  8. })
  9.  
  10. # key1 key2 key3 newkey
  11. # 1 b a b key4
  12. # 2 b b a key2
  13. # 3 a b b key5
  14. # 4 b a b key4
  15. # 5 b a a key1
  16. # 6 b b b key6
  17. # 7 b b a key2
  18. # 8 a a b key3
  19. # 9 b a a key1
  20. # 10 b b b key6
  21.  
  22. library(data.table)
  23. as.data.table(DF)[, combined := .GRP, by = names(DF)][]
  24. # key1 key2 key3 combined
  25. # 1: b a b 1
  26. # 2: b b a 2
  27. # 3: a b b 3
  28. # 4: b a b 1
  29. # 5: b a a 4
  30. # 6: b b b 5
  31. # 7: b b a 2
  32. # 8: a a b 6
  33. # 9: b a a 4
  34. # 10: b b b 5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement