Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. library(dplyr)
  2. dat <- read.table(text =
  3. " Animal Color Size
  4. Cat Orange 10
  5. Dog Black 20", header=TRUE)
  6.  
  7. Animal Color Size
  8. Cat NA NA
  9. Cat Orange NA
  10. Cat Orange 10
  11. Dog NA NA
  12. Dog Black NA
  13. Dog Black 20
  14.  
  15. expand.grid(dat$Animal, dat$Color, dat$Size) %>% arrange(Var1, Var2, Var3) #Note: this does not give the correct answer.
  16.  
  17. dat <- c("Cat", "Orange", 10)
  18.  
  19. counter <- 1
  20. datInner <- list()
  21. for(i in 1:length(dat)){ # loops through 3x
  22.  
  23. # i <- 3
  24. datInner[[i]] <- dat[1:i]
  25. counter <- counter + 1
  26.  
  27. }
  28.  
  29. library(plyr)
  30. # Adapted from http://stackoverflow.com/questions/17308551/do-callrbind-list-for-uneven-number-of-column
  31. plyr::rbind.fill(lapply(datInner, function(y){as.data.frame(t(y),
  32. stringsAsFactors = FALSE)}))
  33.  
  34. # V1 V2 V3
  35. # 1 Cat <NA> <NA>
  36. # 2 Cat Orange <NA>
  37. # 3 Cat Orange 10
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement