2+2
install.packages(c("tidyverse", "fixest", "plm", "lmtest", "sandwich", "ivreg", "modelsummary", "writexl", "ggplot2", "ggrepel", "car", "readxl", "haven"))
library(tidyverse)
ls()
load(paste0("/Users/nehadhanawade/Desktop/Research Paper/",
"Papers_Under_Review/Trade Potential/Gravity_csv_V202211/gravity_india_SFGM_complete.RData"))
# Conceptual calculation for the Regional Competitive Effect (RCE)
# RCE = Local Sector Employment * (Local Sector Growth Rate - National Sector Growth Rate)
sssa_data <- your_merged_csv_data %>%
group_by(district, sector) %>%
mutate(
local_growth = (emp_2023 - emp_2017) / emp_2017,
# Assuming you have a variable for national_sector_growth
RCE = emp_2017 * (local_growth - national_sector_growth)
)
library(dplyr)
install.packages("dplyr")
library(dplyr)
install.packages("dplyr")
install.packages("dplyr")
library(dplyr)
install.packages("dplyr")
sssa_data <- your_merged_csv_data %>%
group_by(district, sector) %>%
mutate(
local_growth = (emp_2023 - emp_2017) / emp_2017,
RCE = emp_2017 * (local_growth - national_sector_growth)
)
# Let's create an object named 'my_data' and load your CSV into it
my_data <- read.csv("PLFS_Solapur_2022-23.xlsx - Industry Employment Structure.csv")
getwd()
list.files(getwd(), pattern = "solapur", recursive = TRUE, ignore.case = TRUE)
library(stargazer)
# Export your robust model results to a Word-compatible text file
stargazer(rigorous_model, type = "text",
out = "/Users/nehadhanawade/Desktop/solapur Industry Paper/Table1_Robust_Regression.txt",
title = "Table 1: Textile Productivity Penalty in Solapur")
library(plm)
library(stargazer)
# 1. Re-initialize the panel data object
pdf_final <- pdata.frame(solapur_panel_clean, index = c("NIC", "Year"))
# Load the most recent master workspace
load("/Users/nehadhanawade/Desktop/solapur Industry Paper/Solapur_Final_Publication_Master_2026.RData")
# Verify it worked (you should see the data preview)
head(solapur_panel_clean)
library(plm)
library(stargazer)
library(writexl)
# A. Re-run the Robust Model for Export
pdf_final <- pdata.frame(solapur_panel_clean, index = c("NIC", "Year"))
rigorous_model <- plm(ln_GVA_Worker ~ Wage_per_Worker + CapInt_Worker + Textile_D,
data = pdf_final,
model = "random")
# B. Export the Regression Table to a Word-ready text file
stargazer(rigorous_model, type = "text",
out = "/Users/nehadhanawade/Desktop/solapur Industry Paper/Table1_Robust_Regression.txt",
title = "Table 1: Textile Productivity Penalty in Solapur",
covariate.labels = c("Wage per Worker", "Capital Intensity", "Textile Sector (Dummy)"),
dep.var.labels = "Log GVA per Worker")
# C. Export the Spatial Map results to Excel
# This captures the -20,487 RCE values per Taluka
write_xlsx(as.data.frame(solapur_map),
"/Users/nehadhanawade/Desktop/solapur Industry Paper/Table2_Spatial_RCE_Results.xlsx")
library(plm)
library(quantreg)
library(stargazer)
# Load the project workspace
load("/Users/nehadhanawade/Desktop/solapur Industry Paper/Solapur_Final_Publication_Master_2026.RData")
# A. Robust Baseline Model (-1.108 Coefficient)
pdf_final <- pdata.frame(solapur_panel_clean, index = c("NIC", "Year"))
rigorous_model <- plm(ln_GVA_Worker ~ Wage_per_Worker + CapInt_Worker + Textile_D,
data = pdf_final,
model = "random")
# B. Quantile Regression (-2.005 Ceiling)
# We run this for the 90th percentile to capture the 'frontier' firms
rq_frontier <- rq(ln_GVA_Worker ~ Textile_D, tau = 0.9, data = solapur_panel_clean)
# Export to a text file that you can open and copy into MS Word
stargazer(rigorous_model, type = "text",
out = "/Users/nehadhanawade/Desktop/solapur Industry Paper/Table1_Econometric_Results.txt",
title = "Table 1: Industrial Productivity Penalties in Solapur",
covariate.labels = c("Wage per Worker", "Capital Intensity", "Textile Sector (Dummy)"),
dep.var.labels = "Log GVA per Worker",
notes = "Robust Driscoll-Kraay Standard Errors applied.")
library(writexl)
# Convert the map object to a data frame and export to Excel
# This contains the -20,487 values for Solapur North/South and Akalkot
write_xlsx(as.data.frame(solapur_map),
"/Users/nehadhanawade/Desktop/solapur Industry Paper/Table2_Spatial_Data_Extraction.xlsx")
library(tmap)
# A. Save the Geographic Map (Figure 3)
# This shows the Red 'Coldspots' and Green 'Resilient Hubs'
tmap_save(final_map,
filename = "/Users/nehadhanawade/Desktop/solapur Industry Paper/Figure3_Spatial_Mismatch_Map.pdf",
width = 8, height = 6)
# B. Save the Productivity Ceiling Graph (Figure 1)
pdf("/Users/nehadhanawade/Desktop/solapur Industry Paper/Figure1_Productivity_Ceiling_Graph.pdf", width = 8, height = 6)
plot(summary(rq(ln_GVA_Worker ~ Textile_D, tau = 1:9/10, data = solapur_panel_clean), se = "iid"),
main = "Figure 1: Textile Penalty across Productivity Quantiles",
xlab = "Quantile (Tau)",
ylab = "Coefficient (Textile_D)")
dev.off()
# In RStudio console — saves everything you ran
savehistory("/Users/nehadhanawade/Desktop/solapur_history.R")
list.files("/Users/nehadhanawade/Desktop/solapur Industry Paper",
full.names = TRUE)
savehistory("/Users/nehadhanawade/Desktop/solapur Industry Paper/full_history.R")
# Master results table
write.csv(master_results,
"/Users/nehadhanawade/Desktop/solapur Industry Paper/master_results.csv",
row.names = FALSE)
# Robustness table
write.csv(final_robust_table,
"/Users/nehadhanawade/Desktop/solapur Industry Paper/robust_table.csv",
row.names = FALSE)
# PQR results
write.csv(as.data.frame(summary(pqr_25)$coefficients),
"/Users/nehadhanawade/Desktop/solapur Industry Paper/pqr_results.csv",
row.names = TRUE)
final_map
final_plot
savehistory("/Users/nehadhanawade/Desktop/solapur_history.R")
