Pivot It Longer or Wider
table4a
table4a %>%
pivot_longer( c("1999", "2000"), names_to = "year", values_to = "cases")
#gather the columns as given and set the original names and values under variables of new names
table2
table2 %>%
pivot_wider(names_from = "type", values_from = "count")
#get names and values from given columns and lay them out
#add `values_drop_na = TRUE` to throw away observations that have NA
### use logical values to denote the values of variables
mutate(
female = sex == "female",
pregnant = pregnant == "yes"
)
Seperate and Unite
table3
table3 %>%
separate(rate, into = c("cases", "population"))
#add sep = "/" to set the separator;add sep = 2 to define the number of characters of the previous one
##example:
separate(sexage, c("sex", "age"), sep = 1) #it turns the value like "m014" to "m" and "014"
table5
table5 %>%
unite(col = new, century, year, sep = "")
Make the Data Full
stocks %>%
complete(year, qtr)
#complete(): make all missing combinations explicit
treatment %>%
fill(person)
#fill(): It takes a set of columns where I want missing values to be replaced by the most recent non-missing value