Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 0.68 KB | None | 0 0
  1. peopleId <- LETTERS[1:9]
  2.  
  3. library(data.table)
  4. DT <- data.table(giver = peopleId, mark_giver = FALSE, taker = peopleId, mark_taker = FALSE)
  5.  
  6. out <- matrix(NA_character_, nrow(DT), 2L)
  7. for (i in 1L:nrow(DT)) {
  8.   out[i, 1L] <- sample(DT[mark_giver == FALSE]$giver, 1L)
  9.   out[i, 2L] <- sample(DT[mark_taker == FALSE & taker != out[i, 1L]]$taker, 1L)
  10.   set(DT, match(out[i, 1L], peopleId), match("mark_giver", names(DT)), TRUE)
  11.   set(DT, match(out[i, 2L], peopleId), match("mark_taker", names(DT)), TRUE)
  12. }
  13. out
  14. #     [,1] [,2]
  15. # [1,] "C"  "D"
  16. # [2,] "H"  "G"
  17. # [3,] "B"  "H"
  18. # [4,] "A"  "E"
  19. # [5,] "I"  "C"
  20. # [6,] "G"  "I"
  21. # [7,] "F"  "B"
  22. # [8,] "E"  "F"
  23. # [9,] "D"  "A"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement