1. > data <- data.frame(ID = rep("K", 6), Type = c(rep("A", 3), rep("B", 3)),
  2. +
  3. + X = c(NA,NA,1,2,3,4), Y = 5:10, Z = c(NA,11,12,NA,14,NA))
  4. >
  5. > data
  6. ID Type X Y Z
  7. 1 K A NA 5 NA
  8. 2 K A NA 6 11
  9. 3 K A 1 7 12
  10. 4 K B 2 8 NA
  11. 5 K B 3 9 14
  12. 6 K B 4 10 NA
  13. >
  14. > data <- reshape_long(data, identifiers = c("ID", "Type"))
  15. >
  16. > data
  17. ID Type name value
  18. 3 K A X 1
  19. 4 K B X 2
  20. 5 K B X 3
  21. 6 K B X 4
  22. 7 K A Y 5
  23. 8 K A Y 6
  24. 9 K A Y 7
  25. 10 K B Y 8
  26. 11 K B Y 9
  27. 12 K B Y 10
  28. 14 K A Z 11
  29. 15 K A Z 12
  30. 17 K B Z 14
  31. >
  32. > reshape_wide(data, identifiers = c("ID", "Type"), name="name")
  33. ID Type X Y Z
  34. 1 K A 1 5 11
  35. 2 K A NA 6 12
  36. 3 K A NA 7 NA
  37. 4 K B 2 NA NA
  38. 5 K B 3 NA 14
  39. 6 K B 4 8 NA
  40. 7 K B NA 9 NA
  41. 8 K B NA 10 NA