Итак, используя простой фрейм данных ниже, я хочу создать новый столбец, который имеет все дни для каждого человека, разделенного точкой с запятой.Работа с пространствами и NA при объединении нескольких столбцов с Tidyr
Например, используя Doug, он должен выглядеть как понедельник; среда; Пятница
Я хотел бы использовать функцию Unite для Tidyr для этого, но когда я его использую, я получаю понедельник, среду, пятницу, из-за NA, что также может быть пустым пространством. Иногда в начале и конце есть полуколоны. Поэтому я надеюсь, что есть способ продолжать «объединять», но улучшать с регулярным выражением, чтобы в итоге я получал каждый день недели, разделенный одной точкой с запятой, и никаких полуколоний в начале или конце.
Я также хотел бы придерживаться Tidyr, Dplyr, Stringr и т.д.
Names<-c("Doug","Ken","Erin","Yuki","John")
Monday<-c("Monday"," "," ","Monday","Monday")
Tuesday<-c(" ","Tuesday","Tuesday"," ","Tuesday")
Wednesday<-c(" ","Wednesday","Wednesday","Wednesday"," ")
Thursday<-c(" "," "," "," ","Thursday")
Friday<-c(" "," "," "," ","Friday")
Days<-data.frame(Monday,Tuesday,Wednesday,Thursday,Friday)
Days<-Days%>%unite(BestDays,Monday,Tuesday,Wednesday,Thursday,Friday,sep="; ",remove=FALSE)
https://github.com/hadley/tidyr/issues/203 – Sumedh