#r #dataframe
Вопрос:
У меня есть большой набор данных, который, упрощенно, выглядит примерно так:
Год | Имя | Январь | Февраль | Март | Апрель | Май | Улица |
---|---|---|---|---|---|---|---|
2000 | Боб | $100 | $197 | $124 | $100 | азбука | |
2000 | Эйб | $100 | $100 | $117 | $123 | $100 | азбука |
2001 | Боб | $100 | $100 | $197 | $103 | $150 | защита |
2001 | Эйб | $140 | $100 | $127 | $526 | $123 | азбука |
2002 | Эйб | $100 | $100 | $198 | $102 | $101 | защита |
2002 | Боб | $102 | $110 | азбука | |||
2003 | Карли | $100 | $100 | $197 | азбука |
Я пытаюсь объединить эти данные так, чтобы у каждого человека была одна строка, с целью подсчета и отображения на графике, сколько месяцев они платили подряд.
Я подумывал о том, чтобы попытаться перекодировать данные так, чтобы каждый человек получал свою собственную строку с указанием того, сколько они заплатили по годам и сезонам, с такими названиями столбцов, как это, но мне трудно понять, как это сделать.
Имя | 2000 Январь | 2000 Февраль | Март 2000 года | 2000 Апрель | 2000 Май | 2001 Январь | Февраль 2001 года | Март 2001 года | 2001 April | 2001 May | 2002 January | 2002 February | 2002 March | 2002 April | 2002 May | Street |
---|
Есть ли способ каким-то образом уплотнить переменные таким образом?
Большое вам спасибо!
Ответ №1:
Использование pivot_wider
from {tidyr}
позволит этого достичь. Вызывая свой yeardata
фрейм данных , вы можете сделать следующее:
selectmonths <- c("January", "February", "March", "April", "May")
result <- yeardata %>%
pivot_wider(names_from = "Year", values_from = selectmonths)