Methodology and Data
About the Project Back to Top
I developed this project while a fellow at the University of Nebraska-Lincoln's Center for Digital Research in the Humanities's Digital Scholarship Incubator. I owe many thanks to Liz Lorang, who oversaw the Incubator, and the other fellows, Rebecca Ankenbrand, Jeri Dobos, and Kevin McMullen, all of whom gave vital feedback throughout the program. I also need to thank James Austin Wehrwein, who was instrumental in getting me started in R, and Rebecca Wingo, who gave me invaluable advice on the narrative and site construction.
I designed the website with Bootstrap's HTML and CSS frameworks and used R and R Studio to construct my visualizations. My narrative relies on sources from the Grand Rapids Public Library’s Furniture Manufacturers Association Records and Grand Rapids Chamber of Commerce Records as well as the Annual Reports of the Federal Trade Commissions. Banner images come from a map that can be found in the Library of Congress's Panoramic Maps Collection, originally drawn by A. Ruger for the Chicago Lithographing Company in 1868. The photographs of Jefferson and Sheldon Avenues in Grand Rapids are also from the library of Congress.
Choropleth Maps and Box Plots Back to Top
To create the choropleth maps, I used attendance records in the Grand Rapids Public Library’s Furniture Manufacturers Association Records Box 9, Folder 1. When mapping the attendance data for the furniture markets, I encountered the methodological question of how to quantify the influence Grand Rapids had as an industry leader. To be the central meeting point for a national industry, the city must attract significant numbers of buyers from across the country. Of course, “significant” is an abstract concept when referring to something qualitative like reputation. The majority of states sent under 100 buyers per year with many below 10 and only a few outliers above 200 per year.
While several states sent hundreds of buyers to the Grand Rapids Markets during the early and mid-1920s, after 1928 states sent dramatically less people. The large blank space at the top right corner of the full boxplot above highlights this decline. The number of buyers sent by the middle and bottom tier of states also declines after 1928, a change that the zoomed in boxplot below demonstrates.
However, in terms of the percentage of buyers attending, these outliers dominated the rest. Creating buckets that would not obscure the top or bottom tiers was my goal in developing these visualizations. I also noticed that more than five groupings and the colors became too similar. Choosing buckets that contained relatively equal numbers of states would disproportionately skew the map towards the lower end of the spectrum, highlighting small changes in attendance well but overlooking the large decline in attendance from the states that regularly sent hundreds of buyers from 1923-1928. On the other hand, proportional buckets that would capture this decline would necessitate such a large lower bucket that the corresponding map would show many states that sent dozens of buyers per year the same as a state that did not send any, mistakenly suggesting that the markets lacked geographic diversity.
I sought to balance these concerns by providing top tiers (200 to 499 and 500 and above) that could show the fall in attendance among the states that sent the majority of buyers, while bottom tiers (0 to 24, 25 to 100) that would still capture the wide variety of states sending buyers to the markets.
I combined the summer and winter markets to help even out potential seasonal variation and to lessen the number of maps presented to the viewer. From 1926 to 1943, Grand Rapids held markets in the fall and spring as well as summer and winter, but these were much smaller events. I lacked the state level data for some of these additional markets and felt that examining the changes in the main markets (winter and summer) would better represent the markets’ decline on the national stage.
Creating the Visualizations in R
install.packages("choroplethr") install.packages("Hmisc") df <- read.csv("C:\\Users\\Documents\\sample.csv", header = TRUE, sep = ",") df.map = bind_df_to_map(df, "state") df.map$value = cut2(df.map$value, cuts=c(0,25, 100, 250, 500, Inf)) render_choropleth(df.map, "state", "Title of Map", "Title of Legend")
df <- read.csv("C:\\Users\\Documents\\sample.csv", header = TRUE, sep = ",") boxplot(df, horizontal = TRUE, #makes graph horizontal notch = TRUE, #adds notch in the middle col = "slategray3", #colors box whisklty = 1, #makes line instead of dots boxwex = .5, #shrinks box size xlab = "X Axis Label", ylab = "Y Axis Label", outcol = "slategray3",#colors outliers outpch = 16, #fills in outliers staplelty = 0 #removes line at end of box arms ylim = c(0,200) #restricts the view of the map, creating a zoomed in effect )
Line Graphs Back to Top
As the graph above shows, including the fall and spring furniture markets, which had smaller attendance figures, visually distracts the viewer and obscures the decline in attendance at the major markets held in the winter and summer.
To create the line graphs, I used attendance records in the Grand Rapids Public Library’s Furniture Manufacturers Association Records Box 2, Folder 24 and Box 9, Folder 1 and information found on pages 37 and 38 of the June 1930 issue of the Furniture Manufacturer in the article "Where Do We Go From Here?" by Frank E. Seidman. I combined the summer and winter markets to help even out seasonal variations and to create easier to understand visualizations. From 1926 to 1943, Grand Rapids held markets in the fall and spring as well as summer and winter, but these were much smaller events. I lacked the state level data for some of these other markets and felt examining the changes in the winter and summer markets would better represent the event’s decline. In creating the graphs, I used the date of the year for the winter market, held in January, and the year plus an additional “.5” to show the six month difference in time. When plotting the spring and fall markets I used “.25” and “.75” respectively. A couple of data points were marked as “unofficial” though, lacking other data, I included them with the official numbers.
Creating the Visualizations in R
df <- read.csv("C:\\Users\\Documents\\sample.csv", header = TRUE, sep = ",") plot(df$year, df$attendance, type="o", col="blue", xlab = "X Axis Label", ylab = "Y Axis Label") title("Title")
Timelines Back to Top
To create the timeline of Furniture Manufacturers Association membership, I used membership lists in the Grand Rapids Public Library’s Furniture Manufacturers Association Records Box 9, Folder 2. Knowing the Great Depression forced many furniture companies into bankruptcy, I wanted to investigate the brief resurgence of the furniture markets after World War II and see if the existing companies drove the growth or new companies started the postwar boom. To clarify any potential generational differences, I arranged the timeline by decade, arranging the order by their membership’s end date, alternating descending and ascending dates, which in theory would produce a discernible pattern from which I could then note deviations.
This graph represents what the timeline image would have looked like if companies would have joined and left the Furniture Manufacturers Association in a regular fashion.
The records did not always give precise dates, simply labeling “x” for several companies that joined before 1918, these I defaulted to joining in 1918. Likewise, companies still in existence at the time of compilation were not given dates for leaving the organization, these I defaulted to 1983, the end date listed on the archive’s folder. In one instance, a company had dates 1934-? And 1941-1958. I chose an initial end date halfway between 1934 and 1941 (1937.5). Some companies merged with or bought other members, in which case I sought to show a continuance of the company by noting the name change but making the end date the latter of the two companies. I also erred on the side of longevity when computing the length of membership, which I determined by subtracting the start date from the end date and then added one to assume the end date represented December 31st of a given year rather than January 1st.
Creating the Visualizations in R
install.packages("timeline") df <- read.csv("C:\\Users\\Documents\\sample.csv", header = TRUE, sep = ",") timeline(df, label.col = names(df), #1st column of spreadsheet with the names for the body group.col = names(df), #2nd column allows other company names to stay together start.col = names(df), #3rd column contains the date the company joined the FMA end.col = names(df), #4th column contains the date the company left text.size = 4, text.color = "black")
Bubble Charts Back to Top
As the bubble chart above demonstrates, including all the major furniture centers listed by the census crowds the graph and renders the names of the smaller furniture centers indecipherable. On the other hand, including only the top ten furniture centers listed in the census works to convey the same overall message of Grand Rapids as an outlier in the furniture industry for its size. Further, the smaller producers begin to cluster at the bottom end, but names and sizes are still visible.
To create the bubble charts, I used data from the US Census Office's 1890 Report on Manufacturing Industries, which listed statistics for 51 individual cities. I chose the categories city populations, number of establishments, capital (direct investment) and value of products (which includes custom work and repairing) because they spoke to the economic power of the city as a whole and would not be subject to local variations, as number of employees or wages might. Using all the cities made the graphic difficult to read and added little analytical value so I restricted the data set to the ten largest cities, each of which had over twenty furniture companies. I used population and captial investment as the categories for the size of the circles to emphasize the small size but large potential of Grand Rapids in 1890. This tutorial was very helpful in creating the charts.
Creating the Visualizations in R
df <- read.csv("C:\\Users\\Documents\\sample.csv", header = TRUE, sep = ",") radius<-sqrt(df$Population/pi) symbols(df$Capital, df$Value, circles=radius, inches=.8, #makes circle, controls how big fg="white", #colors the circle's border bg="cadetblue3", #colors the circles xlab="X Axis Label", ylab="Y Axis Label") text(df$Capital, df$Value, df$Rank, cex=0.5) #centers text on x and y axis, cex controls text size title("title")