Problem to be solved

There is a hypothetical situation where I can only move to 5 states between California, Texas, New York, Florida, and Illinois. The reason for this move is that these states are closest to financial service industries, something that is a heuristic for my family since we are all working in the industry. Another key data point we are considering is the state’s overall attainment of education, that is, the percentage of citizens who have attained a bachelor’s degree or higher. This is a heuristic for proximity and number of potential financial service and white collar jobs, since most of these jobs do require at least a bachelor’s degree for qualification. I want to optimize for states that have a bachelor’s attainment of at least 35 percent.

Dataset

US Census Bureau - Educational attainment 
https://data.census.gov/table/ACSST1Y2021.S1501?q=S1501&g=010XX00US$0400000&moe=false&tp=false&tid=ACSST1Y2021.S1501 

Principles (Design)

Initial result


edu_attainment <- data.frame(
  State = c("California", "Texas", "New York", "Florida", "Illinois"),
  Bachelor_Percent = c(36.19, 33.12, 40.90, 33.16, 37.14)
)
# color coding
edu_attainment$Color = ifelse(edu_attainment$Bachelor_Percent > 35, "green", "red")
edu_attainment$Color = as.factor(edu_attainment$Color)

# Ordering states by Bachelor_Percent
edu_attainment$State <- factor(edu_attainment$State, levels = edu_attainment$State[order(edu_attainment$Bachelor_Percent, decreasing = TRUE)])

# Plot
library(ggplot2)
ggplot(data = edu_attainment, aes(x = State, y = Bachelor_Percent, fill = Color)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = c("green" = "green", "red" = "red")) + 
  theme_minimal() +
  labs(title = "College Educational Attainment by State (Ordered)",
       x = "State",
       y = "Percent of Bachelor Degrees Attained") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  guides(fill=FALSE) # Remove legend for color

  geom_hline(yintercept = 35, color = "red", linetype = "dashed", size = 1) # Add red dashed line at 35%
mapping: yintercept = ~yintercept 
geom_hline: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity 

Follow up (Week 3)

Problem to be solved

The situation has now changed, and we want to add to our options in terms of where we can move. Picking from a list of states that fall within the famous Acela corridor (close proximity to financial institutions), we chose 5 more states to be potential options to consider. These states are Maryland, New Jersey, Conneticut, Virginia, and Pennsylvannia.

New result


edu_attainment <- data.frame(
  State = c("California", "Texas", "New York", "Florida", "Illinois", "Maryland", "New Jersey", "Conneticut", "Virginia", "Pennsylvania"),
  Bachelor_Percent = c(36.19, 33.12, 40.90, 33.16, 37.14,48.55,43.10 ,42.13 ,41.81,36.54)
)
# color coding
edu_attainment$Color = ifelse(edu_attainment$Bachelor_Percent > 35, "green", "red")
edu_attainment$Color = as.factor(edu_attainment$Color)

# Ordering states by Bachelor_Percent
edu_attainment$State <- factor(edu_attainment$State, levels = edu_attainment$State[order(edu_attainment$Bachelor_Percent, decreasing = TRUE)])

# Plot
library(ggplot2)
ggplot(data = edu_attainment, aes(x = State, y = Bachelor_Percent, fill = Color)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = c("green" = "green", "red" = "red")) + 
  theme_minimal() +
  labs(title = "College Educational Attainment by State (Ordered)",
       x = "State",
       y = "Percent of Bachelor Degrees Attained") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  guides(fill=FALSE) # Remove legend for color

geom_hline(yintercept = 35, color = "red", linetype = "dashed", size = 1) # Add red dashed line at 35%
mapping: yintercept = ~yintercept 
geom_hline: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity 

Result

With this new dataset, it is clear that moving to the east coast might be a better move, more specifically either New Jersey or Maryland.

LS0tCnRpdGxlOiAiV2VlayAzIEhvbWV3b3JrIC0gQ2hhaXRhbnlhIFByYXNoYW50IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIyMgUHJvYmxlbSB0byBiZSBzb2x2ZWQKClRoZXJlIGlzIGEgaHlwb3RoZXRpY2FsIHNpdHVhdGlvbiB3aGVyZSBJIGNhbiBvbmx5IG1vdmUgdG8gNSBzdGF0ZXMgYmV0d2VlbiBDYWxpZm9ybmlhLCBUZXhhcywgTmV3IFlvcmssIEZsb3JpZGEsIGFuZCBJbGxpbm9pcy4gVGhlIHJlYXNvbiBmb3IgdGhpcyBtb3ZlIGlzIHRoYXQgdGhlc2Ugc3RhdGVzIGFyZSBjbG9zZXN0IHRvIGZpbmFuY2lhbCBzZXJ2aWNlIGluZHVzdHJpZXMsIHNvbWV0aGluZyB0aGF0IGlzIGEgaGV1cmlzdGljIGZvciBteSBmYW1pbHkgc2luY2Ugd2UgYXJlIGFsbCB3b3JraW5nIGluIHRoZSBpbmR1c3RyeS4gQW5vdGhlciBrZXkgZGF0YSBwb2ludCB3ZSBhcmUgY29uc2lkZXJpbmcgaXMgdGhlIHN0YXRlJ3Mgb3ZlcmFsbCBhdHRhaW5tZW50IG9mIGVkdWNhdGlvbiwgdGhhdCBpcywgdGhlIHBlcmNlbnRhZ2Ugb2YgY2l0aXplbnMgd2hvIGhhdmUgYXR0YWluZWQgYSBiYWNoZWxvcidzIGRlZ3JlZSBvciBoaWdoZXIuIFRoaXMgaXMgYSBoZXVyaXN0aWMgZm9yIHByb3hpbWl0eSBhbmQgbnVtYmVyIG9mIHBvdGVudGlhbCBmaW5hbmNpYWwgc2VydmljZSBhbmQgd2hpdGUgY29sbGFyIGpvYnMsIHNpbmNlIG1vc3Qgb2YgdGhlc2Ugam9icyBkbyByZXF1aXJlIGF0IGxlYXN0IGEgYmFjaGVsb3IncyBkZWdyZWUgZm9yIHF1YWxpZmljYXRpb24uIEkgd2FudCB0byBvcHRpbWl6ZSBmb3Igc3RhdGVzIHRoYXQgaGF2ZSBhIGJhY2hlbG9yJ3MgYXR0YWlubWVudCBvZiBhdCBsZWFzdCAzNSBwZXJjZW50LiAKCiMjIyBEYXRhc2V0IAoKYGBgClVTIENlbnN1cyBCdXJlYXUgLSBFZHVjYXRpb25hbCBhdHRhaW5tZW50IApodHRwczovL2RhdGEuY2Vuc3VzLmdvdi90YWJsZS9BQ1NTVDFZMjAyMS5TMTUwMT9xPVMxNTAxJmc9MDEwWFgwMFVTJDA0MDAwMDAmbW9lPWZhbHNlJnRwPWZhbHNlJnRpZD1BQ1NTVDFZMjAyMS5TMTUwMSAKYGBgCgoKIyMjIFByaW5jaXBsZXMgKERlc2lnbikKCi0gR29vZCBkZXNpZ24gc2hvdWxkIGJlIHVuZGVyc3RhbmRhYmxlLCB1bm9idHJ1c2l2ZSwgYW5kIGFzIG1pbmltYWwgYXMgcG9zc2libGUuIFRvIGFjaGlldmUgdGhlc2UgZ29hbHMsIEkgaGF2ZSBpbXBsZW1lbnRlZCBhIGJhciBjaGFydCB2aXN1YWxpemF0aW9uLCB3aGlsc3QgdXNpbmcgY29sb3IgdG8gbm90ZSB0aGF0IGEgaGV1cmlzdGljIEkgY2FyZSBhYm91dCAoPiAzNSBwZXJjZW50IGJhY2hlbG9yJ3MgZGVncmVlIGF0dGFpbm1lbnQpIHNob3VsZCBiZSBtZXQuIFRvIG1ha2UgaXQgbW9yZSBwZXJjZXB0aWJsZSwgd2UgdXRpbGl6ZSBjb2xvciB0byBjcmVhdGUgYW4gaW1wYWN0IHJpZ2h0IGF3YXksIGFuZCBoZWxwIHRoZSB1c2VyIGludGVycHJldCB0aGUgc3RhdGVzIHRoYXQgbWVldCB0aGUgaGV1cmlzdGljLiAKCiMjIyBJbml0aWFsIHJlc3VsdAoKYGBge3J9CgplZHVfYXR0YWlubWVudCA8LSBkYXRhLmZyYW1lKAogIFN0YXRlID0gYygiQ2FsaWZvcm5pYSIsICJUZXhhcyIsICJOZXcgWW9yayIsICJGbG9yaWRhIiwgIklsbGlub2lzIiksCiAgQmFjaGVsb3JfUGVyY2VudCA9IGMoMzYuMTksIDMzLjEyLCA0MC45MCwgMzMuMTYsIDM3LjE0KQopCiMgY29sb3IgY29kaW5nCmVkdV9hdHRhaW5tZW50JENvbG9yID0gaWZlbHNlKGVkdV9hdHRhaW5tZW50JEJhY2hlbG9yX1BlcmNlbnQgPiAzNSwgImdyZWVuIiwgInJlZCIpCmVkdV9hdHRhaW5tZW50JENvbG9yID0gYXMuZmFjdG9yKGVkdV9hdHRhaW5tZW50JENvbG9yKQoKIyBPcmRlcmluZyBzdGF0ZXMgYnkgQmFjaGVsb3JfUGVyY2VudAplZHVfYXR0YWlubWVudCRTdGF0ZSA8LSBmYWN0b3IoZWR1X2F0dGFpbm1lbnQkU3RhdGUsIGxldmVscyA9IGVkdV9hdHRhaW5tZW50JFN0YXRlW29yZGVyKGVkdV9hdHRhaW5tZW50JEJhY2hlbG9yX1BlcmNlbnQsIGRlY3JlYXNpbmcgPSBUUlVFKV0pCgojIFBsb3QKbGlicmFyeShnZ3Bsb3QyKQpnZ3Bsb3QoZGF0YSA9IGVkdV9hdHRhaW5tZW50LCBhZXMoeCA9IFN0YXRlLCB5ID0gQmFjaGVsb3JfUGVyY2VudCwgZmlsbCA9IENvbG9yKSkgKwogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYygiZ3JlZW4iID0gImdyZWVuIiwgInJlZCIgPSAicmVkIikpICsgCiAgdGhlbWVfbWluaW1hbCgpICsKICBsYWJzKHRpdGxlID0gIkNvbGxlZ2UgRWR1Y2F0aW9uYWwgQXR0YWlubWVudCBieSBTdGF0ZSAoT3JkZXJlZCkiLAogICAgICAgeCA9ICJTdGF0ZSIsCiAgICAgICB5ID0gIlBlcmNlbnQgb2YgQmFjaGVsb3IgRGVncmVlcyBBdHRhaW5lZCIpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArCiAgZ3VpZGVzKGZpbGw9RkFMU0UpICMgUmVtb3ZlIGxlZ2VuZCBmb3IgY29sb3IKICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAzNSwgY29sb3IgPSAicmVkIiwgbGluZXR5cGUgPSAiZGFzaGVkIiwgc2l6ZSA9IDEpICMgQWRkIHJlZCBkYXNoZWQgbGluZSBhdCAzNSUKCgoKCgoKYGBgCgojIyMgRm9sbG93IHVwIChXZWVrIDMpCgojIyMgUHJvYmxlbSB0byBiZSBzb2x2ZWQKClRoZSBzaXR1YXRpb24gaGFzIG5vdyBjaGFuZ2VkLCBhbmQgd2Ugd2FudCB0byBhZGQgdG8gb3VyIG9wdGlvbnMgaW4gdGVybXMgb2Ygd2hlcmUgd2UgY2FuIG1vdmUuIFBpY2tpbmcgZnJvbSBhIGxpc3Qgb2Ygc3RhdGVzIHRoYXQgZmFsbCB3aXRoaW4gdGhlIGZhbW91cyBBY2VsYSBjb3JyaWRvciAoY2xvc2UgcHJveGltaXR5IHRvIGZpbmFuY2lhbCBpbnN0aXR1dGlvbnMpLCB3ZSBjaG9zZSA1IG1vcmUgc3RhdGVzIHRvIGJlIHBvdGVudGlhbCBvcHRpb25zIHRvIGNvbnNpZGVyLiBUaGVzZSBzdGF0ZXMgYXJlIE1hcnlsYW5kLCBOZXcgSmVyc2V5LCBDb25uZXRpY3V0LCBWaXJnaW5pYSwgYW5kIFBlbm5zeWx2YW5uaWEuIAoKIyMjIE5ldyByZXN1bHQKCmBgYHtyfQoKZWR1X2F0dGFpbm1lbnQgPC0gZGF0YS5mcmFtZSgKICBTdGF0ZSA9IGMoIkNhbGlmb3JuaWEiLCAiVGV4YXMiLCAiTmV3IFlvcmsiLCAiRmxvcmlkYSIsICJJbGxpbm9pcyIsICJNYXJ5bGFuZCIsICJOZXcgSmVyc2V5IiwgIkNvbm5ldGljdXQiLCAiVmlyZ2luaWEiLCAiUGVubnN5bHZhbmlhIiksCiAgQmFjaGVsb3JfUGVyY2VudCA9IGMoMzYuMTksIDMzLjEyLCA0MC45MCwgMzMuMTYsIDM3LjE0LDQ4LjU1LDQzLjEwICw0Mi4xMyAsNDEuODEsMzYuNTQpCikKIyBjb2xvciBjb2RpbmcKZWR1X2F0dGFpbm1lbnQkQ29sb3IgPSBpZmVsc2UoZWR1X2F0dGFpbm1lbnQkQmFjaGVsb3JfUGVyY2VudCA+IDM1LCAiZ3JlZW4iLCAicmVkIikKZWR1X2F0dGFpbm1lbnQkQ29sb3IgPSBhcy5mYWN0b3IoZWR1X2F0dGFpbm1lbnQkQ29sb3IpCgojIE9yZGVyaW5nIHN0YXRlcyBieSBCYWNoZWxvcl9QZXJjZW50CmVkdV9hdHRhaW5tZW50JFN0YXRlIDwtIGZhY3RvcihlZHVfYXR0YWlubWVudCRTdGF0ZSwgbGV2ZWxzID0gZWR1X2F0dGFpbm1lbnQkU3RhdGVbb3JkZXIoZWR1X2F0dGFpbm1lbnQkQmFjaGVsb3JfUGVyY2VudCwgZGVjcmVhc2luZyA9IFRSVUUpXSkKCiMgUGxvdApsaWJyYXJ5KGdncGxvdDIpCmdncGxvdChkYXRhID0gZWR1X2F0dGFpbm1lbnQsIGFlcyh4ID0gU3RhdGUsIHkgPSBCYWNoZWxvcl9QZXJjZW50LCBmaWxsID0gQ29sb3IpKSArCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIpICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBjKCJncmVlbiIgPSAiZ3JlZW4iLCAicmVkIiA9ICJyZWQiKSkgKyAKICB0aGVtZV9taW5pbWFsKCkgKwogIGxhYnModGl0bGUgPSAiQ29sbGVnZSBFZHVjYXRpb25hbCBBdHRhaW5tZW50IGJ5IFN0YXRlIChPcmRlcmVkKSIsCiAgICAgICB4ID0gIlN0YXRlIiwKICAgICAgIHkgPSAiUGVyY2VudCBvZiBCYWNoZWxvciBEZWdyZWVzIEF0dGFpbmVkIikgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsKICBndWlkZXMoZmlsbD1GQUxTRSkgIyBSZW1vdmUgbGVnZW5kIGZvciBjb2xvcgpnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAzNSwgY29sb3IgPSAicmVkIiwgbGluZXR5cGUgPSAiZGFzaGVkIiwgc2l6ZSA9IDEpICMgQWRkIHJlZCBkYXNoZWQgbGluZSBhdCAzNSUKCgoKCgoKYGBgCgojIyMgUmVzdWx0CgpXaXRoIHRoaXMgbmV3IGRhdGFzZXQsIGl0IGlzIGNsZWFyIHRoYXQgbW92aW5nIHRvIHRoZSBlYXN0IGNvYXN0IG1pZ2h0IGJlIGEgYmV0dGVyIG1vdmUsIG1vcmUgc3BlY2lmaWNhbGx5IGVpdGhlciBOZXcgSmVyc2V5IG9yIE1hcnlsYW5kLiA=