fork download
  1.  
  2. library(dplyr)
  3. library(tidyr)
  4.  
  5. d0 <-data.frame(name = LETTERS[1:20],
  6. referrer1 = sample(c(letters[1:5], NA), 20, replace = T))
  7.  
  8.  
  9. d1 <-
  10. d0 %>%
  11. select(name, referrer1) %>%
  12. filter(!is.na(referrer1)) %>%
  13. spread(referrer1, referrer1) %>%
  14. mutate_if(is.factor, as.character) %>%
  15. # 在屬性為factor的情況下,如果要取代的值不存在於原本的level一樣會變na
  16. # 所以先將所有factor的column轉為character
  17. replace(is.na(.), 0) %>%
  18. # 取代na為 0
  19. mutate_at(vars(-name),
  20. .funs = funs( replace(. != 0 , 0 , 1 ) ))
  21. # 把所有非0的字串取代為1(僅針對name以外的column執行)
Success #stdin #stdout #stderr 0.43s 202944KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Attaching package: ‘dplyr’

The following objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union

Error in library(tidyr) : there is no package called ‘tidyr’
Execution halted