In this blog post I weave in gganimate
, tweenr
, and highcharter
plots while exploring the American policies that aided Japan's postwar economic miracle! Back in college, I wrote a paper on the this subject for my United States Economic History class. We were supposed to include a few tables and graphs each in our paper and, as this was before I learned about R in my Econometrics class a year later, everything was stored and created in Excel. More than a year ago I went back and recreated the graphs using ggplot2 for some easy practice and now I'm going another level higher by implementing gganimate
, tweenr
, and highcharter
into my plots!
There won't be a lot of code as other posts as I didn't have to do much data munging for this mini-project. I tried to summarize/shorten the gist of my paper but even then, if you don't like history and just want to see how to do the animations, go ahead but you'll be missing a lot of the context! I've included references and also some further reading at the end as my original (undergraduate) paper is by no means a comprehensive survey of the economic and political events in the postwar period (especially as my focus was on the American policies).
Under American occupation, Japan was barely surviving on subsidies and US aid as the Supreme Commander of the Allied Powers (SCAP) restricted Japan's foreign trade and international transactions. The main goal, initially, was to cripple the Japanese economy (especially in terms of its heavy industries) so that it could never produce military goods again (Ohno, 2005). Some of the reforms initiated by SCAP include the breaking up of the zaibatsu (family-owned mega-conglomerates that had a large role in Japanese war industries), new labor laws, land reform, and the well-known political reforms (the renunciation of the Emperor as a God and Article 9 in the new constitution, which renounced war).
In 1948, President Truman asked Joseph Dodge for help in reconstructing Japan's economy (due to his successes in rebuilding Germany) midst the looming threat of Communism in Asia with Mao's forces inching closer to total victory over the Kuomintang (Nakamura & Odaka, 2003). Introducing austerity measures and setting an advantageous exchange rate for Japan among other policies which helped combat inflation, Dodge nevertheless caused severe adverse economic shocks and economic output tanked (Ohno, 2005). Fortunately, Japan's saving grace came with the start of the Korean War in 1950.
With high external demand leading to an export boom, Japan's recession ended quickly and the economy boomed as industrial output increased by more than 50% between 1950 and 1951, export values increased by 53%, and the total value of foreign trade increased by 84% (Dingman, 1993). This huge influx of dollars provided the investment needed for many different sectors of the Japanese economy to modernize their means of production (Dingman, 1993).
From around 1947 there was a profound shift away from the initial American policies aimed at limiting Japanese heavy industry. While diplomats such as William R. Castle emphasized the rhetoric that Japan can serve as a capitalist bulwark against Soviet expansion into Asia, American policy makers preoccupied with postwar economic issues saw Japanese economic recovery as a solution to domestic problems (Schonberger, 1982). Gradually, politicians such as George Kennan (Policy Planning Staff in the State Department) and William Draper (Army Undersecretary) moved to dilute the impact of SCAP policies such as the zaibatsu dissolution reform "FEC-230" (Schonberger, 1982). Their revision, modeled after the Marshall Plan, argued that a two year burst of aid appropriations would increase Japanese exports and thereby foreign exchange for imports of basic necessities and allow for the United States to stop sending aid by 1953 (Schonberger, 1982). SCAP and MacArthur refused to cooperate as they believed the zaibatsu were militarists and a fundamental change of the Japanese economic system was needed. However, in the summer of 1948, MacArthur acquiesced and the reform only broke up 19 of the 324 planned firms while banks were exempted altogether (Schonberger, 1982). Other factors tied into this such as the traditionally strong Japanese legal support for zaibatsu and the lobbying to Congress by American corporations with ties to these Japanese companies. As a result most zaibatsu were modified into keiretsu (bank-centered, industrial conglomerates) and American foreign grants/credits to Japan declined sharply by 1953 (Statistical Abstract of the United States 1954, pp. 902; Statistical Abstract of the United States 1960, pp. 906).
The steel and coal industry was one of the first industries targeted to revitalize the economy as both the Japanese government and SCAP recognized them as a valuable input for other industries (Elbaum, 2007; Fletcher, 2006). Coal was Japan's only domestically available resource and it was believed that increased coal output would lead to increased steel manufacturing, leading to increased allocation of steel for coal production, presenting a positive feedback loop for the economy. With the profits from the Korean War through US military procurement reinvested throughout the '50s, the steel industry contributed heavily to overall productivity gain and steel production rose up and above pre-war levels (Ohno, 2006).
(NOTE: I originally used data from Statistical Abstract of the United States (editions between 1950 and 1960), in process of writing this article I tried to find more data from before 1950 and came across the Historical Statistics of Japan (by the Japan Statistical Association) that has the crude steel production from 1948 to 2004. Although the Statistical Abstract data matched up well with the Japanese source I elected to recreate this graph from the Historical Statistics of Japan data instead.)
library(dplyr) # pipes and dplyr verbs
library(readr) # reading in .csv files
library(ggplot2) # plotting
library(ggthemes) # ggplot2 themes
library(scales) # ggplot2 scaling options
Japan_Steel <- readxl::read_xls("Data/iron_steel_production_1948-2004.xls",
skip = 7,
col_names = c("J_Year", "Year", "Pig_iron",
"Ferro-alloys", "Crude_steel",
"Hot_steel_products", "Galvanized_sheets")) %>%
select(Year, Crude_steel) %>%
filter(Year <= 1960)
The idea behind gganimate
is simple, as the name implies the animation part of a plot becomes just another aesthetic within the ggplot
concept. This package is dependent on ImageMagick and FFmpeg to save your plots as GIFs or videos so make sure you have those installed as well. Once all that's done, go into the ggplot()
code you previously made and it's just as simple as adding in frame = ____
(whatever the variable you want to create an individual frame out of). You can also include cumulative = TRUE
if you want to keep previous frames of added data on the plot as you change to the next frames.
For other tutorials take a look at gganimate's Github repo for a short tutorial or take a look at Peter Aldhous' lecture notes on Iteration & Animation (with ggplot2).
If you're more of a video person or just want something to watch while grabbing some lunch here is David Robinson talking about gganimate at Plotcon 2016 (~33 minutes long).
library(gganimate) # animations
Steel_Animate <- Japan_Steel %>%
ggplot(aes(x = Year, y = Crude_steel, frame = Year, cumulative = TRUE)) +
geom_line(size = 2.5, color = "#474747") +
scale_x_continuous(breaks = pretty_breaks(n = 10)) +
scale_y_continuous(breaks = pretty_breaks(), labels = comma, limits = c(0, 26000)) +
geom_vline(xintercept = 1950) +
geom_vline(xintercept = 1953) +
annotate(geom = "text",
label = "Korean\nWar", size = 5, color = "#474747",
x = 1951.55, y = 17500) +
theme_economist_white() +
theme(axis.text = element_text(size = 10, color = "#474747"),
axis.title = element_text(size = 15, color = "#474747"),
plot.title = element_text(hjust = 0.5, color = "#474747")) +
labs(x = "Year", y = "Steel Production (Thousands of tons)",
title = "Japan Steel Production\nYear:",
caption = "Source: Historical Statistics of Japan, 2012")
gganimate(Steel_Animate, ani.width = 800, ani.height = 500, "Steel_Animate.gif")
## geom_path: Each group consists of only one observation. Do you need to
## adjust the group aesthetic?
## Executing:
## "convert -loop 0 -delay 100 Rplot1.png Rplot2.png Rplot3.png
## Rplot4.png Rplot5.png Rplot6.png Rplot7.png Rplot8.png
## Rplot9.png Rplot10.png Rplot11.png Rplot12.png Rplot13.png
## "Steel_Animate.gif""
## Output at: Steel_Animate.gif
Looks great! However, the animation looks a bit jagged, but we'll look at ways to fix that in the next section!
The camera industry had a quick recovery as the camera companies were one of the earliest to receive permits to resume production by SCAP in early 1946 and Japan already had all the raw materials needed for production (Nelson, 1998). The American military post exchanges (PX) throughout the Korean and Vietnam Wars allowed for large influx in dollars for Japan through camera and lens sales due to demand from American soldiers and also allowed Japanese camera products (most notably those from familiar companies such as Nikon and Canon) to enter the American market through its popularity among the returning American personnel (Nelson, 1998). By the 1970s, when American policies shifted regarding Japan's favorable exchange rate, it did not matter as Japan no longer needed to rely solely on the US market as it had in its postwar infancy (Nelson, 1998).
To create smoother animations between data points we can use tweenr, a package created by Thomas Pedersen which allows you to interpolate your data between different states. Although like in this example, it is highly complementary with gganimate
, it can be used in many other cases as well! Some examples can be found on Len Kiefer's excellent blog here. To show you how interpolation works, I manually created a small example. Let's say you have a data set like this:
tribble(
~year, ~num,
1950, 56,
1951, 59,
1952, 64,
1953, 67,
1954, 69,
1955, 74,
1956, 78,
1957, 83
)
## # A tibble: 8 x 2
## year num
## <dbl> <dbl>
## 1 1950 56.0
## 2 1951 59.0
## 3 1952 64.0
## 4 1953 67.0
## 5 1954 69.0
## 6 1955 74.0
## 7 1956 78.0
## 8 1957 83.0
So in a time series plot, as in the steel production plot, it will transition a bit awkwardly from point to point. This is where interpolation can help! By creating a lot of smaller data points in between the main data points you can create something like this:
tribble(
~year, ~num,
1950.0, 56.0,
1950.1, 56.3,
1950.2, 56.6,
1950.3, 56.9,
1950.4, 57.2,
1950.5, 57.5,
1950.6, 57.8,
1950.7, 58.1,
1950.8, 58.4,
1950.9, 58.7,
1951.0, 59.0 # etc.
)
## # A tibble: 11 x 2
## year num
## <dbl> <dbl>
## 1 1950 56.0
## 2 1950 56.3
## 3 1950 56.6
## 4 1950 56.9
## 5 1950 57.2
## 6 1950 57.5
## 7 1951 57.8
## 8 1951 58.1
## 9 1951 58.4
## 10 1951 58.7
## 11 1951 59.0
(only showing between 1950 and 1951 to save space...) Therefore, making the transitions in a time series animation appear "smoother"!
I was having a bit of trouble creating the list of data frames necessary to provide as the input for the tween_states()
function. I asked for help on R Studio Community and user alistaire replied with a great answer here. Below, I'll go through what he did step-by-step.
First, we use map()
to create a list of data frames containing the data for each row in Japan_Camera
(16) with the same number of observations in Japan_Camera
. However, the observations in each data frame (for the individual rows) that have not been displayed yet are replaced with the values for the previously displayed row.
As a result we have a list of 16 data frames (view shortened to the first 3 to save space). Look carefully at the slight changes in the Camera_Production
column if you didn't understand the above explanation.
library(purrr)
Japan_Camera <- read_csv("Data/JapanCamera&USAImportCamera(1945-1960).csv",
col_names = c("Year", "Camera_Production", "USA_Imports"),
skip = 1)
## Parsed with column specification:
## cols(
## Year = col_integer(),
## Camera_Production = col_integer(),
## USA_Imports = col_integer()
## )
Camera_List <- map(seq(nrow(Japan_Camera)),
~Japan_Camera[c(seq(.x), rep(.x, nrow(Japan_Camera) - .x)), ])
str(Camera_List, list.len = 4)
## List of 16
## $ :Classes 'tbl_df', 'tbl' and 'data.frame': 16 obs. of 3 variables:
## ..$ Year : int [1:16] 1945 1945 1945 1945 1945 1945 1945 1945 1945 1945 ...
## ..$ Camera_Production: int [1:16] 13082 13082 13082 13082 13082 13082 13082 13082 13082 13082 ...
## ..$ USA_Imports : int [1:16] NA NA NA NA NA NA NA NA NA NA ...
## $ :Classes 'tbl_df', 'tbl' and 'data.frame': 16 obs. of 3 variables:
## ..$ Year : int [1:16] 1945 1946 1946 1946 1946 1946 1946 1946 1946 1946 ...
## ..$ Camera_Production: int [1:16] 13082 24145 24145 24145 24145 24145 24145 24145 24145 24145 ...
## ..$ USA_Imports : int [1:16] NA NA NA NA NA NA NA NA NA NA ...
## $ :Classes 'tbl_df', 'tbl' and 'data.frame': 16 obs. of 3 variables:
## ..$ Year : int [1:16] 1945 1946 1947 1947 1947 1947 1947 1947 1947 1947 ...
## ..$ Camera_Production: int [1:16] 13082 24145 51772 51772 51772 51772 51772 51772 51772 51772 ...
## ..$ USA_Imports : int [1:16] NA NA NA NA NA NA NA NA NA NA ...
## $ :Classes 'tbl_df', 'tbl' and 'data.frame': 16 obs. of 3 variables:
## ..$ Year : int [1:16] 1945 1946 1947 1948 1948 1948 1948 1948 1948 1948 ...
## ..$ Camera_Production: int [1:16] 13082 24145 51772 53016 53016 53016 53016 53016 53016 53016 ...
## ..$ USA_Imports : int [1:16] NA NA NA NA NA NA NA NA NA NA ...
## [list output truncated]
Now that we have the list of data frames ready we can use the tween_states()
function to specify how the transitions between the "states" of our data are created. Each "state" will be the individual data frames that we just created. Within the function, tweenlength
is length of the transitions between state to state, statelength
is the pause at each state, ease
is the function used for the transitions, and nframes
is the number of frames to generate for the animation.
library(tweenr)
Camera_Tween <- Camera_List %>%
tween_states(tweenlength = 3, statelength = 2, ease = 'linear', nframes = 200)
glimpse(Camera_Tween)
## Observations: 3,456
## Variables: 4
## $ Year <dbl> 1945, 1945, 1945, 1945, 1945, 1945, 1945, 19...
## $ Camera_Production <dbl> 13082, 13082, 13082, 13082, 13082, 13082, 13...
## $ USA_Imports <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
## $ .frame <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
Now from the original 16 rows/observations we now have 1712 rows due to creating the interpolating frames! The tween_states()
function has added a .frame
variable that corresponds with the expanded data.
After saving everything as a ggplot object, we can specify a variety of animation options inside gganimate()
, here we speed up the time interval between frames with interval = 0.05
. We also set the dimensions for the plot, save it as a GIF, and **Voilà **!
Camera_Animate <- Camera_Tween %>%
ggplot(aes(x = Year, y = Camera_Production, frame = .frame)) +
geom_path(aes(y = Camera_Production,
color = "Camera Production", frame = .frame), size = 1.5) +
geom_path(aes(y = USA_Imports,
color = "USA Imports", frame = .frame), size = 1.5) +
scale_x_continuous(breaks = pretty_breaks(n = 20)) +
scale_y_continuous(labels = c("0", "500,000", "1 Million", "1.5 Million", "2 Million")) +
scale_color_manual(values = c("Camera Production" = "#474747",
"USA Imports" = "black")) +
geom_vline(xintercept = 1950) +
geom_vline(xintercept = 1953) +
annotate(geom = "text",
label = "Korean\nWar", size = 5, color = "#474747",
x = 1951.5, y = 1000000) +
theme_bw() +
theme(axis.title = element_text(size = 10),
axis.text = element_text(size = 8),
title = element_text(size = 9.5),
plot.title = element_text(hjust = 0.5),
legend.position = c(0.15, 0.9),
legend.title = element_blank(),
panel.grid.minor.y = element_blank()) +
labs(x = "Year", y = "Japanese Cameras (Units)",
title = "Japanese Camera Production and USA Imports of Japanese Cameras\n (1945-1960)",
caption = "Source: Nelson, P.A. (1998). Rivalry and cooperation: \nHow the Japanese photography industry went global, pp. 14, 74.")
## Warning: Ignoring unknown aesthetics: frame
## Warning: Ignoring unknown aesthetics: frame
# animation::ani.options(interval = 0.05)
gganimate(Camera_Animate, ani.width = 800, ani.height = 500, title_frame = FALSE, interval = 0.05, "Camera_Animate.gif")
## Executing:
## "convert -loop 0 -delay 5 Rplot1.png Rplot2.png Rplot3.png
## Rplot4.png Rplot5.png Rplot6.png Rplot7.png Rplot8.png
## Rplot9.png Rplot10.png Rplot11.png Rplot12.png Rplot13.png
## Rplot14.png Rplot15.png Rplot16.png Rplot17.png Rplot18.png
## Rplot19.png Rplot20.png Rplot21.png Rplot22.png Rplot23.png
## Rplot24.png Rplot25.png Rplot26.png Rplot27.png Rplot28.png
## Rplot29.png Rplot30.png Rplot31.png Rplot32.png Rplot33.png
## Rplot34.png Rplot35.png Rplot36.png Rplot37.png Rplot38.png
## Rplot39.png Rplot40.png Rplot41.png Rplot42.png Rplot43.png
## Rplot44.png Rplot45.png Rplot46.png Rplot47.png Rplot48.png
## Rplot49.png Rplot50.png Rplot51.png Rplot52.png Rplot53.png
## Rplot54.png Rplot55.png Rplot56.png Rplot57.png Rplot58.png
## Rplot59.png Rplot60.png Rplot61.png Rplot62.png Rplot63.png
## Rplot64.png Rplot65.png Rplot66.png Rplot67.png Rplot68.png
## Rplot69.png Rplot70.png Rplot71.png Rplot72.png Rplot73.png
## Rplot74.png Rplot75.png Rplot76.png Rplot77.png Rplot78.png
## Rplot79.png Rplot80.png Rplot81.png Rplot82.png Rplot83.png
## Rplot84.png Rplot85.png Rplot86.png Rplot87.png Rplot88.png
## Rplot89.png Rplot90.png Rplot91.png Rplot92.png Rplot93.png
## Rplot94.png Rplot95.png Rplot96.png Rplot97.png Rplot98.png
## Rplot99.png Rplot100.png Rplot101.png Rplot102.png
## Rplot103.png Rplot104.png Rplot105.png Rplot106.png
## Rplot107.png Rplot108.png Rplot109.png Rplot110.png
## Rplot111.png Rplot112.png Rplot113.png Rplot114.png
## Rplot115.png Rplot116.png Rplot117.png Rplot118.png
## Rplot119.png Rplot120.png Rplot121.png Rplot122.png
## Rplot123.png Rplot124.png Rplot125.png Rplot126.png
## Rplot127.png Rplot128.png Rplot129.png Rplot130.png
## Rplot131.png Rplot132.png Rplot133.png Rplot134.png
## Rplot135.png Rplot136.png Rplot137.png Rplot138.png
## Rplot139.png Rplot140.png Rplot141.png Rplot142.png
## Rplot143.png Rplot144.png Rplot145.png Rplot146.png
## Rplot147.png Rplot148.png Rplot149.png Rplot150.png
## Rplot151.png Rplot152.png Rplot153.png Rplot154.png
## Rplot155.png Rplot156.png Rplot157.png Rplot158.png
## Rplot159.png Rplot160.png Rplot161.png Rplot162.png
## Rplot163.png Rplot164.png Rplot165.png Rplot166.png
## Rplot167.png Rplot168.png Rplot169.png Rplot170.png
## Rplot171.png Rplot172.png Rplot173.png Rplot174.png
## Rplot175.png Rplot176.png Rplot177.png Rplot178.png
## Rplot179.png Rplot180.png Rplot181.png Rplot182.png
## Rplot183.png Rplot184.png Rplot185.png Rplot186.png
## Rplot187.png Rplot188.png Rplot189.png Rplot190.png
## Rplot191.png Rplot192.png Rplot193.png Rplot194.png
## Rplot195.png Rplot196.png Rplot197.png Rplot198.png
## Rplot199.png Rplot200.png Rplot201.png Rplot202.png
## Rplot203.png Rplot204.png Rplot205.png Rplot206.png
## Rplot207.png Rplot208.png Rplot209.png Rplot210.png
## Rplot211.png Rplot212.png Rplot213.png Rplot214.png
## Rplot215.png Rplot216.png "Camera_Animate.gif""
## Output at: Camera_Animate.gif
As a result of the loss of its overseas territories, Japan lost 2.75 million cotton spindles from China and Manchuria with a further 210,000 in Korea (Fletcher, 2006). With the United States' help, however, the cotton textiles industry became the leading export industry from 1946-1960 (taking up around 59% of the dollar value of all Japanese exports) which allowed for raw material and food imports into a war-devastated Japan (Fletcher, 2006; Sugihara, 1999). The United States pursued this initiative due to the accumulation of raw cotton by the Commodity Credit Corporations from various New Deal policies; exporting this raw cotton to Japan would increase government revenue and raise cotton prices for the benefit of American producers (Fletcher, 2006; Abe, 2005). The American government also believed that this course of action would help relieve American taxpayers the burden of paying aid/subsidies for Japanese imports of basic necessities by allowing Japan to sustain itself through its textile exports as well as reinvest the dollars earned into other recovering industries (Abe, 2005; Fletcher, 2006).
As a result, by 1951, Japan had become the largest exporter of cotton textiles in the world with a large percentage of the approximately 2.9 billion square yards produced each year (1955-1970) going to the United States (Abe, 2005). As the domestic American textile market applied pressure to install export quotas, the share of Japanese textile exports fell from 72% in 1957 to a mere 20% in 1960. However, the entry of other Asian countries into the American market made these quotas against Japanese exports meaningless and the Japanese economy began to focus on other industries from the 1960s onward, most famously, the automobile industry.
The Highcharter
package by Joshua Kunst allows you to access the Highcharts
JavaScript visualization library and can seamlessly fit into your R workflow as it uses %>%
to connect functions. For some examples check this link out. To find out more about the myriad of options available to build your chart, check out the Highcharts API reference here. For the more advanced customizations you might need to know JS and/or HTML but Stack Overflow posts can help you out (tags: highcharts
& r-highcharter
)! Another great tutorial to learn Highcharter
from is here, another page out of Peter Aldhous' lecture notes!
What I did here was to show across 2 different y-axes, the total amount of Japanese textile exports and the percentage of those exports heading to the USA. Instead of having them on one graph, I moved the axes labels to opposite sides and had each time series split up the y-axis space between them using the hc_yAxis_multiples()
function. To make things easier to understand, I had the tooltip show the data for both time series using hc_tooltip()
and customizing the labels for each series inside the tooltip with the tooltip =
argument inside their respective hc_add_series()
function. You can even export what you've made as a standalone web page using the saveWidget()
function from the htmlwidgets
package!
Japan_Textiles <- read_csv("Data/JapanCottonTextileExports(1946-1960).csv",
col_names = c("Year", "total_exports", "exports_to_USA",
"percentage_exports_USA"),
skip = 1)
## Parsed with column specification:
## cols(
## Year = col_integer(),
## total_exports = col_integer(),
## exports_to_USA = col_integer(),
## percentage_exports_USA = col_double()
## )
library(htmlwidgets)
library(highcharter)
colors <- RColorBrewer::brewer.pal(2, "Set1")
## Warning in RColorBrewer::brewer.pal(2, "Set1"): minimal value for n is 3, returning requested palette with 3 different levels
textiles_chart <- highchart() %>%
hc_colors(colors) %>%
hc_yAxis_multiples(
list(top = "0%", height = "30%", lineWidth = 3, opposite = TRUE,
title = list(text = "% of Total Exports")),
list(top = "30%", height = "70%",
title = list(text = "Total Exports (Millions sq. yards)"))
) %>%
hc_xAxis(title = list(text = "Year"),
categories = Japan_Textiles$Year,
tickInterval = 1) %>%
hc_add_series(name = "Total Exports",
data = Japan_Textiles, hcaes(Year, total_exports),
type = "spline", yAxis = 1,
tooltip = list(valueSuffix = " M.Sq.Yards")) %>%
hc_add_series(name = "Percentage (%) of Exports to USA",
data = Japan_Textiles, hcaes(Year, percentage_exports_USA),
type = "spline", yAxis = 0,
tooltip = list(valueSuffix = "%", valueDecimals = "1")) %>%
hc_tooltip(shared = TRUE,
borderColor = "black",
headerFormat = '<span style = "font-size: 14px"><b>{point.key}</b></span><br/>'
) %>%
hc_title(text = "Japan's Exports of Cotton Textiles (1946-1960)")
saveWidget(textiles_chart, "textiles_chart.html", selfcontained = TRUE, background = "white")
Despite the devastation of the Allied bombing campaigns and the initial SCAP policies, the growing tensions of the Cold War and the postwar needs of America became the catalyst for a dramatic heel-turn in economic policy that laid the foundations for a miraculous Japanese recovery. By studying the causes and impacts of external/internal events and policies we can gain clues to tackle the future challenges in rebuilding economies in other war-devastated areas of the world.
To finish off this blog post, just a few thoughts... Doing this mini-project, it was quite nice to go back through some old research and look for more/better data sources as the volume of data available is always growing, with older research being digitized daily. Back when I was first doing this research paper, even with PDF versions available, I would usually grab a few actual copies of The Statistical Abstract of the United States from the shelves and flip through them... they really gave me a sense of wonder and I kind of felt the "weight" of history through those hefty volumes which is something that can't really be "felt" from digital sources. Finally, when I started writing this post, I didn't think it would get as long as it ended up, but with it came a better understanding of plotting in R which I hope can be of help to anybody else looking for real-world examples!
-
Abe, T. (2005). The restructuring of cotton spinning companies in postwar Japan. (Discussion paper). Graduate School of Economics and Osaka School of International Public Policy.
-
Castle, A.L. (1990). William R. Castle and the postwar transformation of Japan, 1945-1955. The Wisconsin Magazine of History, 74, 125-137.
-
Dingman, R. (1993). The dagger and the gift: The impact of the Korean War on Japan. Journal of American-East Asian Relations, 2, 29-55.
-
Elbaum, B. (2007). How Godzilla ate Pittsburgh: The long rise of the Japanese iron and steel industry, 1900-1973. Social Science Japan Journal, 10, 243-264.
-
Fletcher, W.M. (2006). A miracle of sorts: The Japan Spinners Association and the recovery of the cotton textile industry, 1945-1952. UNC-Chapel Hill.
-
Kingston, J. (2010). Japan in transformation, 1945-2010. London: Routledge.
-
Miller, J.M. (2011). The struggle to rearm Japan: Negotiating the Cold War state in US-Japanese relations. Journal of Contemporary History, 46, 82-108.
-
Nakamura, T. & Odaka, K. (2003). The economic history of Japan: 1600-1900. (Vol. 3). (Noah S. Brannen, Trans.) Oxford University: Oxford University Press.
-
Nelson, P.A. (1998). Rivalry and cooperation: How the Japanese photography industry went global. (Unpublished doctoral dissertation). University of Warwick, UK.
-
Ohno, K. (2006). The economic development of Japan. Tokyo, Japan: GRIPS Development Forum
-
Schonberger, H. (1982). U.S. policy in post-war Japan: The retreat for liberalism. Science & Society, 46, 39-59.
-
Sugihara, K. (1999). International circumstances surrounding the postwar Japanese cotton textile industry. (Discussion paper). Graduate School of Economics and Osaka School of International Public Policy.
-
U.S. Census Bureau. (1955). Statistical Abstract of the United States: 1954. Washington, DC: U.S. Government Printing Office.
-
... Statistical Abstract of the United States, 1955 to 1962 ...
-
Beason, R., & Weinstein, D. (1996). Growth, Economies of Scale, and Targeting in Japan (1955-1990). The Review of Economics and Statistics, 78(2), 286-295.
-
Blumenthal, T. (1972). Exports and Economic Growth: The Case of Postwar Japan. The Quarterly Journal of Economics, 86(4), 617-631.
-
Esteban-Pretel, J., & Sawada, Y. (2014). On the role of policy interventions in structural change and economic development: The case of postwar Japan. Journal of Economic Dynamics and Control, 40, 67-83.
-
Johnson, C. (1982). MITI and the Japanese miracle: the growth of industrial policy: 1925-1975. Stanford University Press.
-
Jorgenson, D. W., & Nishimizu, M. (1978). US and Japanese economic growth, 1952-1974: an international comparison. The Economic Journal, 88(352), 707-726.
-
Ozawa, T. (1974). Japan's technological challenge to the West, 1950-1974: Motivation and accomplishment. MIT Press Books, 1.