Project Description

I recently attended a faculty day talk by Dr. Tanzina Ahmed on food security concerns facing the students at CUNY Bronx Community College (BCC) where she shared the work that she is doing with her research partner Dr. Rositsa Ilieva of The New School. I would like to do my own analysis of her dataset and a comparison of the food security issues at BCC vs. other demographic groups or national averages. I hope this analysis will help me and my colleagues gain a better understanding of the unique challenges that the students at Bronx Community College face.

Data Collection

Bronx Community College Data

I contacted Dr. Ahmed and she generously agreed to share a portion of her data with me to use in my project. It was emailed to me in the form of a SPSS (.sav) file that represents the first 100 cases in her dataset. She requested that I cite her work as the source of the data and not share the data. See the Citations at the end of the report.

If you would like to reproduce my analysis please contact me so I can get permission to share access to the data provided by Drs. Ahmed and Ilieva.

Additionally, even if I wanted to post it on GitHub, apparently GitHub does not support viewing the raw data for a .sav file, so you cannot import the data directly from GitHub. When I clicked on “View Raw” on GitHub it just downloaded the file to my computer anyway, so you will have to download the file to your computer if you want to reproduce my project…

# Use the haven package to load the SPSS .sav file
library(haven)

# Need to convert to a regular data.frame (not a tibble) in order to facilitate use of the likert package later
bcc_data <- as.data.frame(read_spss(file.path("~","OneDrive","CUNY SPS MDS","DATA 607 - Aquisition and Management","Final Project","FoodAccessStudy_Variables_100participants.sav")))

Census Data

First Attempt - Direct Download of Full Dataset

The Census data was much more difficult to obtain. I first tried downloading the full Current Population Survey Food Security Supplement (CPS) dataset from here: https://thedataweb.rm.census.gov/ftp/cps_ftp.html#cpssupps but the format of the data made it very difficult to work with. There was no header row and every method I tried using to import the data did not result in a useful dataframe.

# Can't get read.delim to work.  Tried different encodings and delimiters.  It loads as 150,000+ records of one variable.  
# There's no header to tell what the data means either although that can be handled with the documentation
census_data <- read.delim("/Users/Betsy/OneDrive/CUNY SPS MDS/DATA 607 - Aquisition and Management/Final Project/dec16pub.dat", sep = "\t", encoding = "ASCII")

# Can't get read_tsv to work either... 
library(readr)
census_data <- read_tsv("/Users/Betsy/OneDrive/CUNY SPS MDS/DATA 607 - Aquisition and Management/Final Project/dec16pub.dat", col_names=FALSE)

# Can't get fread to work either... 
library(data.table)
census_data <- fread("/Users/Betsy/OneDrive/CUNY SPS MDS/DATA 607 - Aquisition and Management/Final Project/dec16pub.dat", sep=" ")

# Tried saving as a csv file and then using edit replace to replace all spaces with commas, but that didn't work either... 
# It imported nicely, but unfortunately the data didn't line up correctly and data points wound up in wrong columns
census_data <- read.csv("/Users/Betsy/OneDrive/CUNY SPS MDS/DATA 607 - Aquisition and Management/Final Project/dec16pubcopy.csv", header=FALSE)

Second Attempt - Census APIs

Since the direct download didn’t work, I decided to try switching to a new approach using the Census APIs. This worked really well, but in the end was also not useful because apparently I don’t think the Current Population Survey Food Security Supplement (CPS) Data is available via the API…

# This is just a test to make sure the API is working, but I couldn't find the correct API name and variable names for the food security data that I need.  I don't think they are avaiilable.
# you can get a Census API key here: <https://api.census.gov/data/key_signup.html>
library(censusapi)
census_data <- getCensus(name = "timeseries/healthins/sahie",
    vars = c("NAME", "IPRCAT", "IPR_DESC", "PCTUI_PT"), 
    region = "state:1", time = 2015)

Third Attempt - DataFerrett

I tried using DataFerrett multiple times even before trying some of the previously described methods but couldn’t get that to work on my Mac. It only works in Internet Explorer and the ESR version of Mozilla Firefox. I tried installing the correct version of Firefox on my Mac, but it still wouldn’t work. Finally when all other methods of collecting the data failed, I tried DataFerrett again on my work PC and was finally able to get it working.

DataFerrett Screenshot

DataFerrett Screenshot

Once I got DataFerrett working it was fantastic I was able to download only the variables I needed plus filter out for a specific value so that I would only get completed surveys. I was also able to download it in different file formats and download a variable list and a codebook. All of these files are available in my GitHub Repo.

census_data <- read.csv("https://raw.githubusercontent.com/betsyrosalen/DATA_607_Data_Acquisition_and_Management/master/Final_Project/CensusData_CSV/CensusData_CSV.asc", encoding = "ASCII")

Additional details and documentation about the data can be found here:

https://www.ers.usda.gov/data-products/food-security-in-the-united-states/documentation/

Analysis

Available BCC Variables

The BCC dataset includes 116 variables mostly in likert scales.

library(tidyverse)
names(bcc_data)
##   [1] "Participant_ID"            "Survey_type"              
##   [3] "A1_Gender"                 "A2_Age"                   
##   [5] "A3_Ethnicity"              "A4_Countries"             
##   [7] "A5_FluencyEnglish"         "A6_Income"                
##   [9] "A7_PeopleSupport"          "A8_A_Child_5"             
##  [11] "A8_B_Child_5to12"          "A8_C_Child_13to18"        
##  [13] "A8_D_Campus_Childcare"     "A8_E_Offcampus_Childcare" 
##  [15] "A9_LiveWith"               "A10_Employment"           
##  [17] "A11_MaritalStatus"         "B1_BeginCollege"          
##  [19] "B2_Semester"               "B3_Enrollment"            
##  [21] "B4_A_MyIncome"             "B4_B_Parent_Spouse"       
##  [23] "B4_C_Employer"             "B4_D_Scholarship"         
##  [25] "B4_E_Loans"                "B4_F_PublicAssistance"    
##  [27] "B5_GPA_Current"            "B6_Take_Classes"          
##  [29] "B7_Days_Campus"            "B8_Hours_Campus"          
##  [31] "B9_Credits_Current"        "B10_International"        
##  [33] "D1_FoodRunOut"             "D2_DidntLast"             
##  [35] "D3_CouldntAfford"          "D4_ReduceMeals"           
##  [37] "D5_FreqReduceMeals"        "D6_EatLess"               
##  [39] "D7_DidntEat"               "D8_LoseWeight"            
##  [41] "D9_NoEatDay"               "D10_FreqNoEatDay"         
##  [43] "E1_ConcentrateClass"       "E2_UnabletoStudy"         
##  [45] "E3_UnableCompleteAssign"   "E4_FailedCourse"          
##  [47] "E5_UnableAttendClass"      "E6_Campus_Food_Bank"      
##  [49] "F1_Meal_Campus"            "F2_Snack_Campus"          
##  [51] "F3_EatTime_Campus"         "G1a_Timetofind_campus"    
##  [53] "G1b_Timetofood_home"       "G2a_Distance_campus"      
##  [55] "G2b_Distance_home"         "G3a_Travel_campus"        
##  [57] "G3b_Travel_home"           "G4a_Money_campus"         
##  [59] "G4b_Money_home"            "G6a_price_0to4.99"        
##  [61] "G6b_price_5to9.99"         "G6c_price_10to15"         
##  [63] "G7_shop_nearcampus"        "H1a_price_products"       
##  [65] "H1b_time_food"             "H1c_menu_location"        
##  [67] "H1d_convenience_location"  "H1e_local_ingredients"    
##  [69] "H1f_eatwithothers"         "H1g_SNAP_WIC_accept"      
##  [71] "H2a_Cart_Campus"           "H2b_fastfood_campus"      
##  [73] "H2c_sitdown_campus"        "H2d_buffet_campus"        
##  [75] "H2e_supermarket_campus"    "H2f_convenience_campus"   
##  [77] "H2g_bodega_campus"         "H2h_vending_campus"       
##  [79] "H2i_pantry_campus"         "H2j_foodcourt_campus"     
##  [81] "H2k_cafe_campus"           "i1a_freshfood_campus"     
##  [83] "i1b_vegetables_campus"     "i1c_fruits_campus"        
##  [85] "i1d_wholegrains_campus"    "i1e_fatfreemilk_campus"   
##  [87] "i1f_poultry_campus"        "i1g_nuts_campus"          
##  [89] "i1h_fruitjuice_campus"     "i1i_eggs_campus"          
##  [91] "i1j_beans_campus"          "i1k_sodium_campus"        
##  [93] "i1l_sugars_campus"         "i1m_refinedgrains_campus" 
##  [95] "J1_zipcode"                "J2_difficulty_shoptime"   
##  [97] "J3_familyfriends_shop"     "J4_primaryperson_shop"    
##  [99] "J5_primaryperson_prepcook" "J6_primaryperson_pay"     
## [101] "J7_sharegroceries"         "J8a_foodpantry"           
## [103] "J8b_religiousorganization" "j8c_mealsonwheels"        
## [105] "j8d_collegecampusorg"      "j8e_WIC"                  
## [107] "j8f_SNAP"                  "j9_govtaid_monthly"       
## [109] "K1_weight_pounds"          "K2_height_inches"         
## [111] "K3_dietary_restrictions"   "K3_dietary_restrictions_2"
## [113] "K3_dietary_restritions_3"  "K4_allergies"             
## [115] "K4_allergies_2"            "K4_allergies_3"

Available Census Variables

The Census data includes 155 variables almost exclusively in likert scales with some numeric variables. See the CodeBook or Variable List for details about what these variables represent.

names(census_data)
##   [1] "HRHHID"   "HRHHID2"  "OCCURNUM" "YYYYMM"   "HHSUPWGT" "PWSUPWGT"
##   [7] "HES1A"    "HES1B"    "HES1C"    "HES1D"    "HETS2O"   "HETS3O"  
##  [13] "HETS4O"   "HETS5O"   "HETS6O"   "HETS7O"   "HETS8O"   "HETS8OU" 
##  [19] "HES8B"    "HETS8CO"  "HETS8DO"  "HES9"     "HESP1"    "HESP21"  
##  [25] "HESP22"   "HESP23"   "HESP24"   "HESP25"   "HESP26"   "HESP27"  
##  [31] "HESP28"   "HESP29"   "HESP210"  "HESP211"  "HESP212"  "HETSP2D" 
##  [37] "HETSP3O"  "HESP3OTC" "HESP6"    "HESP7"    "HESP7A"   "HESP8"   
##  [43] "HETSP9"   "HESP9TC"  "HESS1"    "HESS2"    "HESSM2"   "HESS3"   
##  [49] "HESSM3"   "HESS4"    "HESSM4"   "HESH2"    "HESHF2"   "HESHM2"  
##  [55] "HESHMF2"  "HESH3"    "HESHF3"   "HESHM3"   "HESHMF3"  "HESH4"   
##  [61] "HESHF4"   "HESHM4"   "HESHMF4"  "HESH5"    "HESHM5"   "HESSH1"  
##  [67] "HESSHF1"  "HESSHM1"  "HESSHMF1" "HESS5"    "HESSM5"   "HESS6"   
##  [73] "HESSM6"   "HESH1"    "HESHM1"   "HESSH2"   "HESSHF2"  "HESSHM2" 
##  [79] "HESSHMF2" "HESSH3"   "HESSHF3"  "HESSHM3"  "HESSHMF3" "HESSH4"  
##  [85] "HESSHF4"  "HESSHM4"  "HESSHMF4" "HESSH5"   "HESSHM5"  "HESC1"   
##  [91] "HESC2"    "HESC3"    "HESCF3"   "HESCM3"   "HESC3A"   "HESC4"   
##  [97] "HESCF4"   "HESCM4"   "HRSUPINT" "HRPOOR"   "HRFS12CX" "HRFS12M1"
## [103] "HRFS12MD" "HRFS12M3" "HRFS12M4" "HRFS12MC" "HRFS12M6" "HRFS12M7"
## [109] "HRFS12M8" "HRFS12M9" "HRFS12ME" "HRFS30D1" "HRFS30D2" "HRFS30D3"
## [115] "HRFS30D4" "HRFS30D5" "HRFS30D6" "HRFS30D7" "HRFS30D8" "HRFS30D9"
## [121] "HRFS30DE" "HUFINAL"  "HRMONTH"  "HRNUMHOU" "HEFAMINC" "PESCHENR"
## [127] "PESCHFT"  "PESCHLVL" "PRNLFSCH" "GESTFIPS" "GTCO"     "PEEDUCA" 
## [133] "PEMARITL" "PESEX"    "PRCITFLG" "PRCITSHP" "PRFAMNUM" "PRMARSTA"
## [139] "PEDIPGED" "PEHGCOMP" "PECYC"    "PRCHLD"   "PRNMCHLD" "PEHSPNON"
## [145] "PEDADTYP" "PEMOMTYP" "PTDTRACE" "PENATVTY" "PEFNTVTY" "PEMNTVTY"
## [151] "PRDASIAN" "PRDTHSP"  "PRINUYER" "PREDUCA4" "PREDUCA5"

Plan of attack

Using the questionnaire provided by the researchers for the BCC data and the CodeBook downloaded from DataFerrett, I was able to further narrow down the variables that I wanted to work with for my analysis. I was looking for similar questions from each survey to try to come up with a method of comparison. Most of the BCC variables asked about the past 3 months while the Census data asked the same questions twice about the past 30 days and also about the past 12 months. Otherwise the questions asked were very similar so a comparison can be made even if it is an imperfect one.

I had in mind to use the likert package to do analyses of the likert scales for similar questions from the two datasets side by side. I also wanted to see if I could find any correlations with GPA in the BCC data, so I thought I would aggregate some of the food security likert responses into a single “score” and run a linear model on that to see if there is any correlation between the two.

Likert Scales Comparison of BCC vs. Census Data

Challenges

In addition to the challenges with each particular dataset listed below, trying to match up the Census variables with the corresponding variables in the BCC dataset was challenging. The same questions were asked in both surveys, but for different time-frames. The BCC survey asked about the last 3 months and the Census survey asked the same questions for both the last 30 days and the last 12 months. Additionally the allowed responses for the same question sometimes differed between the two data sets. Even when the allowed responses were basically the same, the factor levels they were coded with were not, so a lot of manipulating and rearranging had to be done to try to make side-by-side comparisons.

BCC Data

I had some trouble figuring out how to convert the imported data from both data sets into factors to use with the likert package. For the BCC data it was actually simple once I figured out that the haven read_spss function imports the data as class “labelled”. I found the labelled package online for working with labelled data that has a to_factor function that easily transforms the data into an ordered, labelled factor. I also had trouble with one miscoded data point that threw off all the factor levels so that needed to be fixed as well.

library(labelled)

# Need to fix an error in the data.  The next two lines didn't work...
# bcc_data[,36] <- as.numeric(bcc_data[,36])
# bcc_data[,36] <- gsub("2", 2, bcc_data[,36])
# This finally worked...
val_label(bcc_data[,36], 2) <- "Don't Know"
bcc_data[24,36] <- 2
val_label(bcc_data[,36], 3) <- NULL

# Change BCC Data to factors
bcc.factors <- to_factor(bcc_data[,33:48])
names(bcc.factors) <- c("I worried whether my food would run out before I got money to buy more", "the food that I bought just didn’t last, and I didn’t have money to get more", "I couldn’t afford to eat balanced meals", "cut the size of meals because there wasn’t enough money for food", "Frequency", "ate less than you felt you should because there wasn’t enough money for food", "hungry but didn’t eat because there wasn’t enough food", "lost weight because there wasn’t enough food", "ever not eat for a whole day because there wasn’t enough money for food", "Frequency", "Could not concentrate in class or during an exam", "Was unable to study for an exam", "Was unable to complete an assignment", "Failed or withdrew from a course", "Was unable to attend class", "Food Bank")
Census Data

For the Census data I had some trouble figuring out what all my data meant because my CodeBook downloaded from DataFerrett did not include -1 as a possible value, but my data had -1’s in it. So I called the DataFerrett support line who then gave me the CPS Data Hotline number, (301) 763-3806. The CPS hotline was able to confirm that a -1 value indicates “Not in universe” which basically means that the survey respondent did not meet the criteria for even being asked that particular question. Once I got this figured out I was able to write functions based on the CodeBook to transform my data into factors.

# Change Census Data columns to factors

flevels_tf <- function(x){
  ordered(x, levels = c(1, 2, 3, -2, -1, -3, -9), 
          labels = c("Often true", "Sometimes true", "Never true", "Don't know", 
                     "Not in universe", "Refused", "No response"))
}

flevels_yn <- function(x){
  ordered(x, levels = c(1, 2, -2, -1, -3, -9),
          labels = c("Yes", "No", "Don't know", 
                     "Not in universe", "Refused", "No response"))
}
flevels_freq <- function(x){
  ordered(x, levels = c(1, 2, 3, -2, -1, -3, -9),
          labels = c("Almost every month", "Some months but not every month", 
                     "Only 1 or 2 months", "Don't know", 
                     "Not in universe", "Refused", "No response"))
}

census_data[,c(47, 49, 51, 52, 54, 56, 58, 60, 62, 64, 65, 66, 68)] <- lapply(census_data[,c(47, 49, 51, 52, 54, 56, 58, 60, 62, 64, 65, 66, 68)], flevels_yn)
census_data[,c(46, 48, 50)] <- lapply(census_data[,c(46, 48, 50)] , flevels_tf)
census_data[,c(53, 57, 61, 67)] <- lapply(census_data[,c(53, 57, 61, 67)] , flevels_freq)
# 12 month variables corresponding to BCC D1, D2, and D3
census.12m.tf <- census_data[,c(46, 48, 50)] 
names(census.12m.tf) = c("I worried whether my food would run out before I got money to buy more", "the food that I bought just didn’t last, and I didn’t have money to get more", "I couldn’t afford to eat balanced meals")

# 30 day variables corresponding to BCC D1, D2, and D3
census.30d.yn1 <- census_data[,c(47, 49, 51)] 
names(census.30d.yn1) = c("I worried whether my food would run out before I got money to buy more", "the food that I bought just didn’t last, and I didn’t have money to get more", "I couldn’t afford to eat balanced meals")

# 30 day variables corresponding to BCC D4, D6, D7, D8 and D9
census.30d.yn2 <- census_data[,c(54, 58, 62, 65, 68)] 
names(census.30d.yn2) = c("cut the size of meals because there wasn’t enough money for food", "ate less than you felt you should because there wasn’t enough money for food", "hungry but didn’t eat because there wasn’t enough food", "lost weight because there wasn’t enough food", "ever not eat for a whole day because there wasn’t enough money for food")

# Don't need this one
# census.12m.yn <- census_data[,c(52, 56, 60, 64, 66)]

I made a choice to keep the “Not in Universe” datapoints in my analysis since they represent Census respondents who just weren’t asked these questions. I would need to do a lot more research on how the census questions were asked and why those individuals were not asked those questions to determine whether or not they really should be counted or not. So with that said, the comparison below may not hold any real value since including those may throw off my percentages significantly. If they were not asked the questions because they answered a previous question indicting that they had no problems accessing or obtaining food, then it would make sense to keep them. That is my assumption at this point, but I would need to verify this.

Results

The following three charts all correspond to the same three questions asked in both the BCC survey and the Census. The first two charts show the BCC data which asked about a 3 month period and the Census data which asked about a 12 month period and are basically true/false, with one additional possible response to distinguish frequency if true.

If my assumption described above is true, BCC students seem to experience a much greater financial difficulty and resulting worry due to financial difficulty in obtaining food than the national average.

library(likert)
bcc.likert.tf <- likert(bcc.factors[, 1:3])
plot(bcc.likert.tf) + ggtitle("BCC - Over 3 Months")

census.likert.12m.tf <- likert(census.12m.tf)
plot(census.likert.12m.tf, center=2.5) + ggtitle("Corresponding Census Data - Over 12 Months")

The third one corresponding to Census data for a 3 month period was coded as a yes/no response so it is a little more difficult to make comparisons, but the proportion of respondents who answered positively is smaller for 30 days than it was for the 12 month period represented above.

census.likert.30d.yn1 <- likert(census.30d.yn1)
plot(census.likert.30d.yn1, center=1.5) + ggtitle("Corresponding Census Data - Over 30 Days")

The following two charts correspond to an additional 5 questions asked in both the BCC survey and the Census. Once again the time-frame is not consistent making it difficult to make comparisons, however, the BCC students seem to be experiencing these difficulties in much higher proportions than the national averages. 6% of BCC students reported not eating for an entire day because they didn’t have enough money for food (vs. 1% of the Census respondents) and 10% of BCC students reported losing weight as a result (vs. 2% of the Census respondents). More than 1 in 4 BCC students reported going hungry but not eating while only about 1 out of 33 Census respondents reported the same.

bcc.likert.yn <- likert(bcc.factors[, c(4,6,7,8,9)])
plot(bcc.likert.yn, center=1.5) + ggtitle("BCC - Over 3 Months")

census.likert.30d.yn2 <- likert(census.30d.yn2)
plot(census.likert.30d.yn2, center=1.5) + ggtitle("Corresponding Census Data  - Over 30 Days")

The following chart shows the BCC student’s self-reported impact on academic performance. They were asked to answer the following:

As a student, have you experienced any of the following because you didn’t have enough money for food?
bcc.likert.school <- likert(bcc.factors[, 11:15])
plot(bcc.likert.school, center=2.5) + 
  ggtitle("BCC Impact on Academic Experiences")

BCC Food Security “Score” impact on GPA

All five of the self-reported impacts on academic performance in the chart above are recorded using the same 5 point scale:

levels(bcc.factors[, 11])
## [1] "Has Never Applied to Me"         "Very occasionally applies to me"
## [3] "Sometimes Applies to Me"         "Often Applies to Me"            
## [5] "Very Often applies to Me"

As a result I thought it would be interesting to take an average of the scores to represent each student’s aggregated self-assessment of the impact that lack of access and money for food has on their academic performance and see if there is any actual correlation with their GPA. The GPA is also self-reported and I also realize that there are some issues with using likert scales to perform mathematical calculations, but it’s a starting point for further investigation.

gpa.score <- cbind(bcc_data[,27],rowMeans(bcc_data[,43:47], na.rm = TRUE))
colnames(gpa.score) <- c("GPA", "Score")

gpa.score <- data.frame(gpa.score)

model <- lm(GPA ~ Score, gpa.score)
summary(model)
## 
## Call:
## lm(formula = GPA ~ Score, data = gpa.score)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.76809 -0.40769  0.08845  0.36561  1.21610 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.9670     0.2382  12.454   <2e-16 ***
## Score        -0.1105     0.1180  -0.937    0.353    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7313 on 56 degrees of freedom
##   (42 observations deleted due to missingness)
## Multiple R-squared:  0.01542,    Adjusted R-squared:  -0.002157 
## F-statistic: 0.8773 on 1 and 56 DF,  p-value: 0.353

There does not appear to be any actual correlation between the student’s perception of the impact that lack of access and money for food has on their academic performance and their actual reported academic performance as indicated by their self-reported GPA. A p-value of 0.35 far exceeds a 0.05 significance level, so there is no statistically significant correlation.

ggplot(data=model, aes(y=GPA, x=Score)) +
  geom_point(alpha=.25) +
  geom_abline(slope=model$coefficients[2], 
                intercept=model$coefficients[1], color='blue', size=1, alpha=.5) +
  ylab("GPA") +
  xlab("Score") +
  ggtitle("GPA as a function of Students' Perceived Impact of Food Insecurity on Academic Performance")

Additionally, although the plot above appears to have a negative correlation, the residuals plot below shows that it does not meet the criteria for least squares regression because it does not satisfy the condition of constant variability.

ggplot(data=model, aes(y=model$residuals, x=Score)) +
  geom_point(alpha=.25, color='blue') +
  geom_abline(slope=0, 
                intercept=0, color='red', size=1, alpha=.25) +
  ylab("Residuals") +
  xlab("Score") +
  ggtitle("Residual Plot for GPA as a function of Students' Perceived Impact of Food Insecurity on Academic Performance")

There are also a couple of outliers that may impact the model.

ggplot(data=model, aes(x=model$residuals)) +
  geom_histogram(bins = 12, alpha=.5) +
  ggtitle("Histogram of Residuals")

qqnorm(model$residuals)
qqline(model$residuals)

Conclusion

Unfortunately, reaching any conclusions from this analysis does not seem reasonable. Although it appears that BCC students face food insecurity in proportions larger than the general population the difference in time frames between the Census and BCC data collected and the uncertainty about the Census Data collection process make it difficult to be certain about any comparisons between the two. The project was a great learning experience though. I learned a lot just going through the process of trying to access and understand the Census data and import and manipulate the two datasets in an attempt to make them comparable. I also think a lot more could be done with the BCC dataset alone given more time.

Citations

Ilieva, R. T., Ahmed, T., & Yan, A. (In press).

Hungry minds: Investigating the food insecurity of minority community college students.
Journal of Public Affairs.

Ahmed, T. & Ilieva, R. T. (2018, June).

“Nothing to Eat”: How Community Colleges Shape Students’ Food Security.
Talk presented at the Society for the Psychological Study of Social Issues Conference: Pittsburgh, PA.

Ahmed, T., & Ilieva, R. T. (2018, April).

“Shouldn’t There Be a Discount?” How Minority Students Access Food in Community College.
Talk presented at the Diversity in Research and Practice Conference at Teachers College, Columbia University: New York: NY.

Ilieva, R. T., Ahmed, T., Yan, A., & Bhaskaran, S. (2018, April).

Assessing Fresh Food Access at a Community College: A Socio-Spatial Approach.
Talk presented at the Meeting of the American Association of Geographers: New Orleans, LA.

Ilieva, R. T., Ahmed, T., Yan, A., & Bhaskaran, S. (2018, March).

Rethinking the Urban Foodscape: Lessons from a Community College in New York City.
Recorded video presented at the International Conference of Architecture, Media, Politics & Society: Abu Dhabi, UAE.

https://www.computerworld.com/article/3120415/data-analytics/how-to-download-new-census-data-with-r.html