This chapter is from the book 
                    
                    
                
            Objectives
This chapter will cover:
Unpivoting/melting/gathering columns into rows
Pivoting/casting/spreading rows into columns
Normalizing data by separating a dataframe into multiple tables
Assembling data from multiple parts
