Reshape multiple categorical variables to binary response variables

前端 未结 5 1650
醉话见心
醉话见心 2020-12-01 16:55

I am trying to convert the following format:

mydata <- data.frame(movie = c(\"Titanic\", \"Departed\"), 
                     actor1 = c(\"Leo\", \"Jack\"         


        
5条回答
  •  忘掉有多难
    2020-12-01 17:41

    How much spice is too much? Here is a solution via tidyr:

    library(dplyr)
    library(tidyr)
    
    mydata %>%
      gather(actor,name,starts_with("actor")) %>%
      mutate(present = 1) %>%
      select(-actor) %>%
      spread(name,present,fill = 0)
    
           movie Jack Kate Leo
     1 Departed    1    0   1
     2  Titanic    0    1   1
    

提交回复
热议问题