The Exploration of Mexican Migration
This is a research project exploring migration data and attempting to understand differences within migrants. As well as the disparties migrants suffer as well.
Immigration has been a polarizing issue in the United States for many years and has amplified in the past few years due to positions in government. Mexican migration is not an easy endeavor and many of these migrants are coming to better their lives. The vast majority of migrants are coming for economic opportunity but recent years have made the overall goal of migration convoluted in a manner that sheds them in a bad light. It is vital to understand migration patterns and how they possibly result in policies that aid in migration as well as possibly aiding countries that these migrants are fleeing from.
The data has multiple data books to them that have different types of questions that are asked to migrants. We initially were going to use 4 data books but narrowed our research down to only using 2 data books since our research questions became altered as well.
Data Books:- Data (https://opr.princeton.edu/archive/restricted/Link.aspx?StudyID=39&SubStudy=csv)
- HOUSE
The HOUSE part of the data set refers to household composition, economic and migratory activity of the members in the household. This includes land ownership of migrants, home/real estate, vehicle and livestock ownership, and business ownership and operation. This is pretty important to know to understand what types of migrants are owning land while coming over to the United States.
- MIG
The MIG portion of the data set refers to a person-level file containing details of all border crossings (up to 30) by each head of household, as well as measures of economic and social activity during the last U.S. visit.
Research Questions
- We intend to explore the following research questions:1. What demographics such as sex and age are mainly migrating to the United States. 2. What does life look like for many of these immigrants after migrating and are they able to find better living/working conditions?
We will also conduct text analysis on Trump tweets to understand the narrative that was being built around Mexican migration since 2016. This will set up our analysis in showing migrants are simply trying to better the lives. Our group intends to make bar and line graphs showing migration patterns. Along with colored line graphs possibly showing income brackets before their migration and after. We plan to gather the data and explore the relationship between sex and age as variables in how that has played out in Mexican migration patterns. We also will explore the cost of migration for the years available in the data set. After further exploration of the data, our group aims to examine the type of amenities migrants are able to use and at which income brackets they use those.
Our Analytical Process:
Us researchers explored the data by looking at the code books first. This gave us a good explanation of all the variables that was in this dataset and each of the code books. We then actually started to work with the data to see what exaclty the variables were and how we could work them. We narrowed down our research to only the HOUSE and MIG data books as previously mentioned.
We wanted to explore the main aspects such as sex, age, and income. Once we got those parts down, we wanted to explore income with these demographics to understand some difference in terms of sex. Each of the data books have income but each are a bit different.
The MIG data, we use income of the head of household and compared that to last income recieved in Mexico. Wanted to explore if the money migrants were receiving was better in the U.S. or better in Mexico. The HOUSE data looked at the same thing, head of household income. We had different purposes for these as HOUSE data book had the amenities. We did the samething with wages they made on the first trip to the U.S. to compare it to their last trip.
The Negativity Surrounding Imigration:
In considering the research foundation for our research topic, we initially wanted to take a look at the dialogue of those in power when addressing ‘issues’ of immigration to determine whether such statements could have an influence towards this negative stigma. Specifically, we analyzed the common vocabulary used by ex-President Donald J. Trump when speaking on issues related to Mexican immigration through public tweets made on Twitter. We were able to source data from Julia Parris’s original dataset which included all of Donald J. Trump’s public tweets made from 2009 to 2016.
We came upon the idea of looking at tweets from Donald Trump and determine what his narrative was on Mexican migration. We used vader sentiment analysis to understand what he was saying was negative or positive. We also looked for the key words that were used a lot in his tweets and which of these were negative as well. We decided to start this part off in our analysis as we think it could help guide our narrative.
From the Trump Tweets dataset, we wanted to first narrow our search to tweets that only contained words relating to immigration. We decided our ‘keywords’ in our search to be ‘immigrant’, ‘mexican’, ‘mexican immigrants’, ‘mexicans’ and ‘immigrants’ as we wanted to look at the tweets that had any mention of immigration and especially Mexican immigration. From our first text restriction, we found 98 total tweets to contain the ‘keywords’.
import pandas as pd
import matplotlib.pyplot as plt
import nltk
nltk.download('punkt')
import requests
from bs4 import BeautifulSoup
import numpy as np
from sklearn.datasets import load_iris
import seaborn as sns
from nltk.sentiment import vader
nltk.download('vader_lexicon')
tweets = pd.read_csv('Tweets.csv')
tweets.describe()
df = pd.DataFrame(tweets)
#a = df.loc[df['Tweet'] == 'immigrant']
#look at tweets that include words like immigrant, mexican, immigrants, borders, etc. and then look at the most common words
#within the tweets that contain those words
#get the index of those tweets and then look at the dates they were tweeted
key_words = df.loc[df['Tweet'].str.contains("immigrant|mexican|mexican immigrants|mexicans|immigrants", case=False)]
key_words
From the text restriction, we were able to then create a sub dataset that contained only the tweets that included any of the keywords. Using the subset, we did sentimental analysis on all the tweets within the subset to examine the general sentiments being expressed through the tweets through their compound scores. The compound scores being the average between the negative, positive, and neutral scores of the tweets. As shown by the visualization below, we found a majority of the tweets to fall within the negative category, meaning a majority of the tweets tended to be expressed negatively. The mean of the compound scores of all the tweets within the subset was found to be -0.157944, where negative scores fall within the negative range below 0, neutral around 0, and positive around the positive range above 0.
key_words
scores = vader.SentimentIntensityAnalyzer()
compound_scores = []
for i in key_words['Tweet']:
print(scores.polarity_scores(i))
compound_scores.append(scores.polarity_scores(i)['compound'])
df_scores = pd.DataFrame(compound_scores)
print(df_scores)
print( "Mean: " ,df_scores.mean())
df_scores.plot(kind='hist', bins = 25)
After our sentimental analysis, we wanted to look further into the actual vocabulary being used by ex-President Donald J. Trump when posting public tweets relating to immigration on Twitter. We did so by combining all the strings of tweets into a single string object and then we were able to tokenize the words, or break the long string object into single words, and then calculated the frequencies of those words being used within the tweets. Additionally, in order to best calculate the frequency of the words we stemmed the words to their simplest word stem.
def hiphop():
j = 0
for i in music:
if str(i['artist']['terms']) == 'hip hop':
#print(str(i['artist']['name'])+ ' is hip hop!')
j +=1
print('There are a total of ' + str(j) + ' hip hop artists')
string_tweets = ''''''
for i in key_words['Tweet']:
string_tweets+=str(i)
string_tweets
from nltk.tokenize import word_tokenize, sent_tokenize
from nltk.corpus import stopwords
from string import punctuation
nltk.download('stopwords')
sent = sent_tokenize(string_tweets)
#print(sent)
words = []
for s in sent:
for w in word_tokenize(s):
words.append(w)
no_words = ["``", "''","’","//t.co/", "“", "”"]
myStopWords = list(punctuation) + stopwords.words('english')+no_words
wordsNoStop = []
for i in words:
if i not in myStopWords:
wordsNoStop.append(i)
#print(words)
print(wordsNoStop)
from nltk.collocations import *
from nltk.probability import FreqDist
freq = FreqDist(wordsNoStop)
for i in sorted(freq, key=freq.get, reverse=True):
print(i,freq[i])
freq
from nltk.stem.lancaster import LancasterStemmer
from nltk.stem.porter import PorterStemmer
stemmed_words = [LancasterStemmer().stem(w) for w in words]
stemmed_words
myStopWords = list(punctuation) + stopwords.words('english')+ no_words
wordsNoStop = []
for i in stemmed_words:
if i not in myStopWords:
wordsNoStop.append(i)
#print(words)
print(wordsNoStop)
from nltk.collocations import *
from nltk.probability import FreqDist
freq = FreqDist(wordsNoStop)
for i in sorted(freq, key=freq.get, reverse=True):
print(i,freq[i])
freq
sortspeechcount = {k: v for k, v in sorted(freq.items(), key=lambda item: -item[1])}
sortspeechcount
barcolors = []
for i in frequentwords:
# could be:
# if i == 'i' or i == 'have' or i == 'dream'
# or could be:
if i in ['kil','drug','illeg']:
barcolors.append('red')
else:
barcolors.append('grey')
barcolors
As seen in the visualization below, we found ‘illegal’, ‘kill’, and ‘drug’ to be commonly utilized words in association to topics relating to Mexican immigration and immigration in general when making public tweets on Twitter.
plt.figure(figsize=(12,5))
plt.barh(frequentwords,frequentvals,color=barcolors)
plt.title('Word Frequency of Common Words Used in Tweets')
As shown by our results above, imimgration continues to be portrayed in a negative light, even by those who hold power, and undoubtedly contributes to the already existing harsh stereotypes that surround immgration.
mig174_df = pd.read_csv('mig174.csv')
house174_df = pd.read_csv('house174.csv')
HOUSE174_df = house174_df[house174_df != 9999]
MIG174_df = mig174_df[mig174_df.age != 9999]
ax = MIG174_df["age"].plot(kind="box",figsize=(12,6))
ax.set_title('Box Plot of Age', fontsize = 14)
#ax.set_ylabel('age')
MIG174_df["age"].describe()
a = MIG174_df.groupby('sex')['country'].count().plot(kind='bar',figsize=(12,6))
a.set_title('Sex Difference of Migrants',fontsize=14)
a.set_xlabel('Sex',fontsize=14)
a.set_ylabel('Migrant Count',fontsize=14)
plt.legend(['1: Male 2: Female'],fontsize=12)
This bar graph is showing the sex difference on those that are migrating. Males are the ones mostly migrating and there has been research to explain why this is so.
MIG174_df.loc[MIG174_df['age']<=19, 'age_group'] = '0-19'
MIG174_df.loc[MIG174_df['age'].between(20,29), 'age_group'] = '20-29'
MIG174_df.loc[MIG174_df['age'].between(30,39), 'age_group'] = '30-39'
MIG174_df.loc[MIG174_df['age'].between(40,49), 'age_group'] = '40-49'
MIG174_df.loc[MIG174_df['age'].between(50,59), 'age_group'] = '50-59'
MIG174_df.loc[MIG174_df['age'].between(60,69), 'age_group'] = '60-69'
MIG174_df.loc[MIG174_df['age'].between(70,79), 'age_group'] = '70-79'
MIG174_df.loc[MIG174_df['age'].between(80,89), 'age_group'] = '80-89'
MIG174_df.loc[MIG174_df['age'].between(90,99), 'age_group'] = '90-99'
#creating age groups by decades
ax = MIG174_df.loc[MIG174_df['sex'] == 2].groupby('age_group')['sex'].count().plot(kind='bar', edgecolor = 'black', figsize=(12,6))
ax.set_title('Ages of Female Immigrants',fontsize=14)
ax.set_xlabel('Ages',fontsize=14)
ax.set_ylabel('Immigrant Count',fontsize=14)
ax = MIG174_df.loc[MIG174_df['sex'] == 1].groupby('age_group')['sex'].count().plot(kind='bar', edgecolor = 'black', figsize=(12,6))
ax.set_title('Ages of Male Immigrants',fontsize=14)
ax.set_xlabel('Ages',fontsize=14)
ax.set_ylabel('Immigrant Count',fontsize=14)
The two figures above illustrate the age differences between sex. It seems there are more older females migrating to the U.S. They are more females aggregated in the 40-49 and 50-59 range in porportion to males in those ranges.
HOUSE174_df = house174_df[house174_df != 9999]
MIG174_df.loc[MIG174_df['ldowage'] == ' ','ldowage'] = '0'
MIG174_df.loc[MIG174_df['ldowage'] == ' ','ldowage']
MIG174_df[['ldowage']] = MIG174_df[['ldowage']].astype(float)
df3 = MIG174_df.loc[(MIG174_df['ldowage'] <100000) & (MIG174_df['ldowage']>=1000) & (MIG174_df['ldowage'] != 9999), 'ldowage']
a = df3.plot(kind='hist',bins=150,figsize=(12,6))
a.set_title('Income in Mexico BEFORE Migration',fontsize=14)
a.set_xlabel('Income',fontsize=14)
a.set_ylabel('Immigrant Count',fontsize=14)
Showing the wages of what migrants are making before they migrated to the U.S.
MIG174_df.loc[MIG174_df['hhincome'] == ' ','hhincome'] = '0'
MIG174_df.loc[MIG174_df['hhincome'] == ' ','hhincome']
MIG174_df[['hhincome']] = MIG174_df[['hhincome']].astype(float)
#making the income variable a float to be able to work with it
df4 = MIG174_df.loc[(MIG174_df['hhincome'] <100000) & (MIG174_df['hhincome']>=1000) & (MIG174_df['hhincome'] != 9999), 'hhincome']
a = df4.plot(kind='hist',bins=150,figsize=(12,6))
a.set_title('Income in U.S. AFTER Migration',fontsize=14)
a.set_xlabel('Income',fontsize=14)
a.set_ylabel('Immigrant Count',fontsize=14)
Showing what migrants are making after they migrate to the U.S.
MIG174_df['income_diff'] = MIG174_df['hhincome'] - MIG174_df['ldowage']
df5 = MIG174_df.loc[(MIG174_df['income_diff'] <50000) & (MIG174_df['income_diff']>=-25000) & (MIG174_df['income_diff'] != 9999) & (MIG174_df['income_diff'] != -9999), 'income_diff']
dx = df5.plot(kind='hist',figsize=(12,6),bins=150)
dx.set_title('“Income Change After Immigration”',fontsize=14)
#dx.set_xlabel('Income',fontsize=14)
dx.set_ylabel('Immigrant Count',fontsize=14)
print('Mean: ',MIG174_df.loc[(MIG174_df['income_diff'] <50000) & (MIG174_df['income_diff']>=-25000) & (MIG174_df['income_diff'] != 9999) & (MIG174_df['income_diff'] != -9999), 'income_diff'].mean())
print('Median: ',MIG174_df.loc[(MIG174_df['income_diff'] <50000) & (MIG174_df['income_diff']>=-25000) & (MIG174_df['income_diff'] != 9999) & (MIG174_df['income_diff'] != -9999), 'income_diff'].median())
#print('Mode: ',MIG174_df.loc[(MIG174_df['income_diff'] < 50000) & (MIG174_df['income_diff']>=-25000) & (MIG174_df['income_diff'] != 9999) & (MIG174_df['income_diff'] != -9999), 'income_diff'].mode())
This is showing the income differences from their wages in Mexico vs their income in the United States. It seems that some migrants made less in the U.S. than in Mexico. That brings up the question of people getting severely under paid.
Next, we will look at the wage difference between migrasnt
MIG174_df.loc[MIG174_df['uswage1']<=100, 'wage_group'] = '0-100'
MIG174_df.loc[MIG174_df['uswage1'].between(101,499), 'wage_group'] = '101-499'
MIG174_df.loc[MIG174_df['uswage1'].between(500,999), 'wage_group'] = '500-999'
MIG174_df.loc[MIG174_df['uswage1'].between(1000,1999), 'wage_group'] = '1000-1999'
MIG174_df.loc[MIG174_df['uswage1'].between(2000,2999),'wage_group'] = '2000-2999'
MIG174_df.loc[MIG174_df['uswage1'].between(3000,3999), 'wage_group'] = '3000-3999'
MIG174_df.loc[MIG174_df['uswage1'].between(4000,4999), 'wage_group'] = '4000-4999'
MIG174_df.loc[MIG174_df['uswage1'].between(5000,5999), 'wage_group'] = '5000-5999'
MIG174_df.loc[MIG174_df['uswage1'].between(6000,6999), 'wage_group'] = '6000-6999'
MIG174_df.loc[MIG174_df['uswage1'].between(7000,7999), 'wage_group'] = '7000-7999'
MIG174_df.loc[MIG174_df['uswage1'].between(8000,8999), 'wage_group'] = '8000-8999'
MIG174_df.loc[MIG174_df['uswage1'].between(9000,9999), 'wage_group'] = '9000-9999'
MIG174_df.loc[MIG174_df['uswage1'].between(10000,19999), 'wage_group'] = '10000-19999'
MIG174_df.loc[MIG174_df['uswage1'].between(20000,29999), 'wage_group'] = '20000-29999'
MIG174_df.loc[MIG174_df['uswage1'].between(30000,39999), 'wage_group'] = '30000-39999'
MIG174_df.loc[MIG174_df['uswage1'].between(40000,49999), 'wage_group'] = '40000-49999'
MIG174_df.loc[MIG174_df['uswage1'].between(50000,59999), 'wage_group'] = '50000-59999'
MIG174_df.loc[MIG174_df['uswage1'].between(60000,69999), 'wage_group'] = '60000-69999'
MIG174_df.loc[MIG174_df['uswage1'].between(70000,79999), 'wage_group'] = '70000-79999'
MIG174_df.loc[MIG174_df['uswage1'].between(80000,89999), 'wage_group'] = '80000-89999'
MIG174_df.loc[MIG174_df['uswage1'].between(90000,100000), 'wage_group'] = '90000-100000'
# making wage brackets to categorize the wages.
Wage_df.loc[(Wage_df['uswagel'] != 9999) & (Wage_df['uswagel'] != 8888) & (Wage_df['uswage1'] != 9999) & (Wage_df['uswage1'] != 8888), ['uswage1','uswagel','wage_group']]
#excludingg the non-responders out of each column.
Wage_df['wage_diff'] = Wage_df['uswagel'] - Wage_df['uswage1']
df8 = Wage_df.loc[(Wage_df['wage_diff'] <50000) & (Wage_df['wage_diff']>=-25000) & (Wage_df['wage_diff'] != 9999) & (Wage_df['wage_diff'] != -9999) & (Wage_df['wage_diff'] != -8888) & (Wage_df['wage_diff'] != 8888), 'wage_diff']
sx = df8.plot(kind='hist',figsize=(12,6),bins=150)
sx.set_title('Wage Difference Before and After Immigration',fontsize=14)
print('Mean: ',Wage_df.loc[(Wage_df['wage_diff'] <50000) & (Wage_df['wage_diff']>=-25000) & (Wage_df['wage_diff'] != 9999) & (Wage_df['wage_diff'] != -9999) & (Wage_df['wage_diff'] != -8888) & (Wage_df['wage_diff'] != 8888), 'wage_diff'].mean())
print('Median: ',Wage_df.loc[(Wage_df['wage_diff'] <50000) & (Wage_df['wage_diff']>=-25000) & (Wage_df['wage_diff'] != 9999) & (Wage_df['wage_diff'] != -9999) & (Wage_df['wage_diff'] != -8888) & (Wage_df['wage_diff'] != 8888), 'wage_diff'].median())
#excluding non-responders and creating parameters since nothing goes beyond these point above.
The Bar plot above shows that many migrants have lost wages on their last trip as well compared to theirt first trip. The majority saw no changes in their wages between their trips.
MIG174_df.loc[MIG174_df['hhincome']<=10000, 'income_group'] = '0-10000'
MIG174_df.loc[MIG174_df['hhincome'].between(10000,19999), 'income_group'] = '10000-19999'
MIG174_df.loc[MIG174_df['hhincome'].between(20000,29999),'income_group'] = '20000-29999'
MIG174_df.loc[MIG174_df['hhincome'].between(30000,39999), 'income_group'] = '30000-39999'
MIG174_df.loc[MIG174_df['hhincome'].between(40000,49999), 'income_group'] = '40000-49999'
MIG174_df.loc[MIG174_df['hhincome'].between(50000,59999), 'income_group'] = '50000-59999'
MIG174_df.loc[MIG174_df['hhincome'].between(60000,69999), 'income_group'] = '60000-69999'
MIG174_df.loc[MIG174_df['hhincome'].between(70000,79999), 'income_group'] = '70000-79999'
MIG174_df.loc[MIG174_df['hhincome'].between(80000,89999), 'income_group'] = '80000-89999'
MIG174_df.loc[MIG174_df['hhincome'].between(90000,100000), 'income_group'] = '90000-100000'
cx = MIG174_df.loc[MIG174_df['sex'] == 2].groupby('income_group')['sex'].count().plot(kind='barh', edgecolor = 'black', figsize=(12,6))
cx.set_title('Income of Female Immigrants AFTER Migration',fontsize=14)
cx.set_xlabel('Immigrant Count',fontsize=10)
#cx.set_ylabel('Immigrant Count',fontsize=14)
ax = MIG174_df.loc[MIG174_df['sex'] == 1].groupby('income_group')['sex'].count().plot(kind='barh', edgecolor = 'black', figsize=(12,6))
ax.set_title('Income of Male Immigrants AFTER Migration',fontsize=14)
ax.set_xlabel('Immigrant Count',fontsize=10)
#ax.set_ylabel('Immigrant Count',fontsize=14)
It seems that migrants male migrants are overall making more than women after migration. More of them are making income in the range of 0-10,000 income range. This is spread out to the point that some migrants are making more than 80,000. Male migrants are making money in each of these income ranges but not enough of them to show on the graph.
Now with female migrants, they too have a lot of people making incomes in the range of 0-10,000 with very few making between 30,000-39,999 and 80,000-89,999.
- Next, under the HOUSE data, we are going to look at income of migrants and the amenties.
HOUSE174_df.loc[HOUSE174_df['hhhincom'] == ' ','hhhincom'] = '0'
HOUSE174_df.loc[HOUSE174_df['hhhincom'] == ' ','hhhincom']
HOUSE174_df[['hhhincom']] = HOUSE174_df[['hhhincom']].astype(float)
df2 = HOUSE174_df.loc[(HOUSE174_df['hhhincom'] < 100000) & (HOUSE174_df['hhhincom']>2000) & (HOUSE174_df['hhhincom'] != 9999),'hhhincom']
tx = df2.plot(kind='hist',bins=150,figsize=(12,6), color='orange')
tx.set_title("Income of Migrants", fontsize = 14)
tx.set_xlabel('Income',fontsize=12)
tx.set_ylabel('Migrant Count',fontsize=14)
Using data from the HOUSE dataset, we looked at the range of income for immigrant households. As shown in the visualization above, we found immigrants to fall within the range of yearly income less than 60,000. More specifically, most are shown to make less than a yearly income of 20,000. Interestingly, those who work full-time, 40 hours a week, on California’s minimum wage, 15, are expected to make at least 29,120.00, yet most immigrants reported to make less than 20,000 a year. Based on yearly income alone, the financial conditions immigrants face give insight into the harsh reality.
After analyzing income, we looked deeper into whether the basic necessities of immigrant households were met, such as whether they had access to water, electricity, stove, refrigerator, and a phone. Because a majority of immigrants had a yearly income of less than 60,000, we created a subset from the original dataset based on those individuals who fell within the income bracket of >60,000.
amenities = HOUSE174_df.loc[(HOUSE174_df['hhhincom'] < 60000) & (HOUSE174_df['hhhincom']>1000) & (HOUSE174_df['hhhincom'] != 9999)]
electricity = amenities.groupby('electric')['country'].count()
electricity.plot(kind= 'bar', color = 'orange', title='Number of Immigrants with or without Electricity')
plt.legend(['1: With 2: Without'],fontsize=12)
#electricity.describe()
Not too many migrants have electricity but it is still important to note what migrants are without a household essential. These numbers are based on people that make 60,000 dollars and less.
water = amenities.groupby('water')['country'].count()
water.plot(kind= 'bar', color = 'orange', title='Number of Immigrants with or without Water')
plt.legend(['1: With 2: Without'],fontsize=12)
#water.describe()
The same goes for the water amenitiy but it is a bit more. More people under the 60,000 dollar income bracket are living without water.
stove = amenities.groupby('stove')['country'].count()
stove.plot(kind= 'bar', color = 'orange', title='Number of Immigrants with or without a Stove')
plt.legend(['1: With 2: Without'],fontsize=12)
A similar amount of people are living without the access to stoves which make it extremely difficult to cook or heat things up. This again goes fopr people under the 60,000 dollar income bracket.
fridge = amenities.groupby('refrig')['country'].count()
fridge.plot(kind= 'bar', color = 'orange', title='Number of Immigrants with or without a Refrigerator')
plt.legend(['1: With 2: Without'],fontsize=12)
A greater amount of people are living without a refridgerator. This applies to those that are under the 60,000 dollar income bracket.
phone = amenities.groupby('phone')['country'].count()
phone.plot(kind='bar', color ='orange', title ='Number of Immigrants With or Without a Phone')
plt.legend(['1: With 2: Without'],fontsize=12)
This is the greatest disparity among the amenities. It seems that this is not as important as the others above which may be why we see far more people not having a phone.
- Tweets Analysis and Relevance
We sought to use the analysis of vocabulary used by ex-President Trump as the foundation for our further research as we wanted to look at how immigrants are portrayed and later compare it to their real living conditions.
In analyzing the tweets made by ex-President Donald Trump from 2009 to 2016, we found almost a hundred tweets related to the topic of immigration and found negative vocabulary, ‘drug’, ‘kill’, and ‘illegal’ to be commonly used in the context of Mexican immigration. On top of analyzing the text, after running sentimental analysis on all tweets relating to immigration, we found all the tweets combined to have an average negative sentiment. Therefore, further proving a negative connotation that exists against immigrants being enforced by those in power, even those who hold the highest office.
We found this initial research to be extremely significant as these connotations do impact the livelihoods of those who fall victim to them, whether it be how it affects their access to resources or how they are generally treated as individuals within the country. These findings give us an insight as to how these individuals are truly perceived through the eyes of those who hold power, and raises an urge to look into the realities of immigrants and to showcase the many disparities they face.
- Sex and Age Findings
When looking at the sex difference between migrants, we can see that the vast majority of migrants are male. Past research has confirmed this. The vast majority of migrants are men due to familial obligations. In a study done by Joann Dreby, she conducted case studies on families in Mexico and explored their lifestyles. Most of her research depicted a migrant father working in the United States sending remittances home to his family. Some of the mothers simply didn’t work in Mexico because they had to take care of their children while the father was in the U.S. working.
The literature that confirms this information is called Divided by Borders. In the same article, because men are more likely to migrate, they migrate at younger ages. You can see from the visualizations that separate migrants into age brackets that male migrants are heavily congregated in the 30’s to 40’s age range. This is around the time they are working and come to network in the U.S. As for females, it is heavily congregated around the 40’s to 50’s age range. The research done by Dreby also confirms the trends of age regarding females. As fathers and husbands work in the U.S. transnational parenting is very difficult. Eventually mothers attempt to migrate as well later. This can help describe the age range difference.
- Income Difference Findings
When looking at the income differences, we see that many of the migrants are making a very low amount. That is the first observation we can make. It is also important to note that many migrants are still making a good amount but that only belongs to the minority. The graph for “After in U.S. After Migration” showed that less people made money in the range of 0-10,000. This is important as this means wages went up for most migrants. We put the same exclusions on both income variables to make them equal. We kept income below 100,000 and above 1,000.
In answering our research question of if their quality of life is better in the U.S. after migration, we looked at the difference from their income back in Mexico vs those in the U.S. The findings were a bit shocking as we subtracted the U.S. income vs the Mexico income and found that some of the values were negative. This means that some migrants are being severely underpaid in the U.S. that their Mexico income is greater. This answers our question, for some migrants, quality of life in a financial aspect is actually worse than it is in Mexico.
-
United States Wages: First trip vs. Last trip Finding
Similarly to the Income differences, we wanted narrow our scope to wages between migrants first visit compared to their last visit. The results were similar in that some migrants made far less on their last visit in comparison to their first visit. Does this entail exploitation at a greater rate? Migrants suffer from very low wages as it is but it is surprising to see their wages dip compared to their first visit. Migrants are suffering from us low wages and are not experiencing better work conditions on their next visit.
- Sex and Age with Income Findings
Examining the income differences between sex, males made money in every income range. More males made money in the higher income brackets as well. The results show us that more males are migrating overall and are the ones making the most money. This is supported by the research mentioned before but is confirmed through the research conducted. It seems that for males, they are seeing a better living and working conditions due to the income over their female counterparts.
- Amenities
In looking at the living conditions of immigrant households, we wanted to analyze data concerning the basic housing necessities and whether they were being met. We found most basic necessities, water and electricity, to be met for the majority of immigrant households. However, we found greater differences when looking at amenities that went beyond bare necessities, such as having access to a stove, refrigerator, and a cellphone. Additionally, while the majority of the basic needs of immigrant households seem to be met, we found that of those reported there were ~100 households that did not have access to these essentials.
Such findings give an interesting insight to the conditions immigrants live under in contrast to the strong negatively charged opinions held against them.
In summary, we aimed for our research to not only look at the perception of immigrants, especially held by those in power, but to look how those perceptions compare to the reality of the living conditions immigrants are under. Contrary to the many stereotypes held against immigrants for ‘stealing jobs’ or ‘stealing taxes’ we found most immigrant households to face harsh living conditions and possibly even worse conditions compared to the country they immigrated from.