-
-
Save jpearl1395/a66331eb64f35476b823 to your computer and use it in GitHub Desktop.
Japanese American migration patterns with IPUMS census data
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(readr) | |
library(dplyr) | |
library(ggplot2) | |
library(RColorBrewer) | |
library(maptools) | |
library(ggmap) | |
library(gtools) | |
setwd('/Users/joshpearl/Documents/Dartmouth/Junior Year 16W-16X/16W/HIST 90.01- US Hist Through Census/Immigration Assignment') | |
a<-read_csv('usa_00007.csv') | |
# Remove Alaska and Hawaii, select variables | |
aa<-filter(a,STATEFIP < 60 & (YEAR >= 1980 | !(STATEFIP %in% c(2,15)))) | |
b<-select(aa,YEAR,RACE,BPL,STATEFIP,PERWT) | |
unique(b$RACE) | |
c<-mutate(b,RACE=factor(RACE,labels=c('White', 'Black', 'Native American', | |
'Chinese', 'Japanese', 'Other Asian', 'Other'))) | |
# Separate Japanese and Non-Japanese by RACE | |
e<-mutate(c, Japanese=ifelse(RACE=='Japanese', 'Yes', 'No')) | |
# Remove all non-Japanese race | |
f<-e[e$Japanese=='Yes', ] | |
# Separate Nisei and Issei by BPL and remove unneccessary variables | |
g<-mutate(f, Generation=ifelse(BPL==501, 0, | |
ifelse(BPL<100, 1, 2))) %>% | |
mutate(Generation=factor(Generation, labels=c('Issei', 'Nisei', 'Neither'))) %>% | |
filter(Generation=='Issei' | Generation=='Nisei') | |
h<-g[g$Generation=='Nisei', ] | |
Nisei<-h[, c(-2:-3, -6:-7)] | |
i<-g[g$Generation=='Issei', ] | |
Issei<-i[, c(-2:-3, -6:-7)] | |
# Upload USA Map from Canvas | |
USAmap<-read_csv('map.csv') | |
ggplot(data=USAmap) + theme_nothing() + | |
geom_map(map=USAmap,aes(x=long,y=lat,map_id=id,group=group),fill='white',color='black',size=0.15) | |
# Assign State names to STATEFIP | |
unique(g$STATEFIP) | |
# Create and upload State names csv file | |
states<-read_csv('states2.csv') | |
# Summarize Issei and Nisei per State with PERWT | |
Nisei_State<-summarise(group_by(h,YEAR, STATEFIP), NUMBER=sum(PERWT)) | |
Issei_State<-summarise(group_by(i, YEAR, STATEFIP), NUMBER=sum(PERWT)) | |
# Allow states with no Issei and no Nisei to be assigned STATEFIP=0 so they can be mapped | |
Nisei_State <- select(Nisei_State,YEAR,STATEFIP,NUMBER) | |
all <- mutate(states,NUMBER=0) | |
years <- unique(Nisei_State$YEAR) | |
allyears <- merge(years,all) | |
allyears <- select(allyears,YEAR=x,STATEFIP,NUMBER) | |
j <- rbind(Nisei_State,allyears) | |
Nisei_State <- summarise(group_by(j,YEAR,STATEFIP),NUMBER=sum(NUMBER)) | |
Issei_State <- select(Issei_State, YEAR, STATEFIP, NUMBER) | |
all2 <- mutate(states, NUMBER=0) | |
years2 <- unique(Issei_State$YEAR) | |
allyears2 <- merge(years2, all2) | |
allyears2 <- select(allyears2, YEAR=x, STATEFIP, NUMBER) | |
k <- rbind(Issei_State, allyears2) | |
Issei_State <- summarise(group_by(k,YEAR,STATEFIP),NUMBER=sum(NUMBER)) | |
Nisei_State2<-merge(Nisei_State, states, by='STATEFIP', all.x=TRUE) | |
Issei_State2<-merge(Issei_State, states, by='STATEFIP', all.x=TRUE) | |
# Assign Categories to NUMBER | |
Nisei_State3<-mutate(Nisei_State2, NUMBER= | |
ifelse(NUMBER==0, 0, | |
ifelse(NUMBER<1000, 1, | |
ifelse(NUMBER<20000, 2, | |
ifelse(NUMBER<40000, 3, | |
ifelse(NUMBER<60000, 4, | |
ifelse(NUMBER<80000, 5, | |
ifelse(NUMBER<100000, 6, 7)))))))) | |
unique(Nisei_State3$NUMBER) | |
# Label NUMBER categories | |
Nisei_State4<-mutate(Nisei_State3, NUMBER=factor(NUMBER, labels=c("None", "Under 1,000", | |
"1,000 - 19,999", | |
"20,000 - 39,999", | |
"40,000 - 59,999", "60,000 - 79,999", | |
"Over 100,000"))) | |
Nisei_State5<-merge(Nisei_State4, USAmap, by.x='State', by.y='id') | |
Nisei_State6<-arrange(Nisei_State5, order) | |
Nisei_State7<- filter(Nisei_State6, State!='Alaska' & State!='Hawaii') %>% | |
filter(YEAR==1930 | YEAR==1940 | YEAR==1950 | YEAR==1960 | YEAR==1970) | |
# Map Nisei | |
Nisei_map<-ggplot() + theme_nothing(legend=TRUE) + | |
geom_polygon(data = Nisei_State7, | |
aes(x = long, y = lat, group = group, fill = NUMBER), | |
color = "black", size = 0.25) + | |
facet_grid(YEAR~.) + labs(title='Nisei Population by State 1930 - 1970', fill='Number of Nisei') + | |
scale_fill_brewer(palette='Blues') | |
print(Nisei_map) | |
#Assign Categories to NUMBER | |
Issei_State3<-mutate(Issei_State2, NUMBER= | |
ifelse(NUMBER==0, 0, | |
ifelse(NUMBER<1000, 1, | |
ifelse(NUMBER<10000, 2, | |
ifelse(NUMBER<20000, 3, | |
ifelse(NUMBER<30000, 4, | |
ifelse(NUMBER<40000, 5, | |
ifelse(NUMBER<50000, 6, 7)))))))) | |
unique(Issei_State4$NUMBER) | |
# Label NUMBER categories | |
Issei_State4<-mutate(Issei_State3, NUMBER=factor(NUMBER, labels=c("None", "Under 1,000", "1,000 - 9,999", | |
"10,000 - 19,999", "20,000 - 29,000", | |
"30,000 - 39,999", "40,000 - 49,999", | |
"50,000+"))) | |
Issei_State5<-merge(Issei_State4, USAmap, by.x='State', by.y='id') | |
Issei_State6<-arrange(Issei_State5, order) | |
Issei_State7<- filter(Issei_State6, State!='Alaska' & State!='Hawaii') %>% | |
filter(YEAR==1910 | YEAR==1920 | YEAR==1930 | YEAR==1940 | YEAR==1950) | |
# Map Issei | |
Issei_map<-ggplot() + theme_nothing(legend=TRUE) + | |
geom_polygon(data = Issei_State7, | |
aes(x = long, y = lat, group = group, fill = NUMBER), | |
color = "black", size = 0.25) + | |
facet_grid(YEAR~.) + labs(title='Issei Population by State 1910 - 1950', fill='Number of Issei') + | |
scale_fill_brewer(palette='Greens') | |
print(Issei_map) | |
# Graph Japanese population by Issei and Nisei from 1900 - 1970 | |
ga<- summarise(group_by(g, YEAR, Generation), NUMBER=sum(PERWT)) | |
JapanesePop<-ggplot(ga, aes(x=YEAR, y=NUMBER, fill=Generation)) + | |
geom_bar(stat='identity') + | |
labs(title='Japanese Population by Generation', x='Year', y='Population') + | |
scale_fill_discrete(guide = guide_legend(reverse=TRUE)) + scale_y_continuous(labels=scales::comma) | |
print(JapanesePop) | |
dev.off() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment