The table below stats on the share of 8-11 year olds enrolled in government schools who can a) read a simple paragraph with three sentences, b) perform simple two-digit subtraction, and c) write a simple sentence with 2 or fewer mistakes.

# Set the path for the IHDS 2011 individual level file
ind_file <- file.path("C:/Users/dougj/Documents/Data/IHDS/IHDS 2012/DS0001", "36151-0001-Data.dta")

# read in just those variables that i need
ihds <- read_dta(ind_file, col_select = c(STATEID, WT, RO5, CS4, starts_with("TA"))) %>% 
  filter(!is.na(WT)) # drop one observation with missing wt variable

# Create variables for reading, math, and writing levels
ihds <- ihds %>% mutate(reading = (TA8B >= 3), # can read a simple paragraph
                        math = (TA9B >= 2), # can perform simple subtraction
                        writing = (TA10B >= 1)) # Can write sentence with <=2 mistakes

# Estimate share of 8-11 year olds in govt schools at specified learning levels
ihds %>% 
  filter(CS4 == 2) %>% # filter for children in govt schools
  group_by(State = as_factor(STATEID)) %>% 
  summarise(across(c(reading, math, writing), weighted.mean, WT, na.rm = TRUE), n()) %>% 
  gt() %>% 
  fmt_percent(
    columns = c(reading, math, writing),
    decimals = 0
  ) 
State reading math writing n()
Jammu & Kashmir 01 49% 57% 73% 446
Himachal Pradesh 02 76% 63% 92% 1171
Punjab 03 67% 65% 85% 989
Chandigarh 04 67% 67% 100% 29
Uttarakhand 05 58% 37% 79% 358
Haryana 06 52% 49% 68% 1362
Delhi 07 62% 56% 85% 743
Rajasthan 08 46% 35% 62% 1795
Uttar Pradesh 09 32% 21% 45% 2419
Bihar 10 29% 33% 50% 1910
Sikkim 11 16% 58% 62% 75
Arunachal Pradesh 12 30% 95% 100% 121
Nagaland 13 78% 11% 100% 29
Manipur 14 12% 12% NaN 13
Mizoram 15 0% 49% 100% 15
Tripura 16 68% 75% 100% 180
Meghalaya 17 38% 65% 79% 67
Assam 18 41% 36% 73% 755
West Bengal 19 60% 53% 84% 1853
Jharkhand 20 38% 36% 73% 693
Orissa 21 54% 46% 67% 1723
Chhattisgarh 22 44% 27% 60% 1206
Madhya Pradesh 23 44% 25% 59% 2818
Gujarat 24 52% 29% 65% 1119
Daman & Diu 25 31% 32% 69% 54
Dadra+Nagar Haveli 26 75% 71% 82% 50
Maharashtra 27 54% 47% 87% 1659
Andhra Pradesh 28 44% 60% 89% 949
Karnataka 29 39% 37% 79% 2023
Goa 30 76% 52% 100% 77
Kerala 32 75% 77% 92% 474
Tamil Nadu 33 38% 46% 69% 738
Pondicherry 34 84% 96% 91% 44
NA
NA
LS0tDQp0aXRsZTogIklIRFMgMjAxMSBsZWFybmluZyBvdXRjb21lIHN0YXRzIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KVGhlIHRhYmxlIGJlbG93IHN0YXRzIG9uIHRoZSBzaGFyZSBvZiA4LTExIHllYXIgb2xkcyBlbnJvbGxlZCBpbiBnb3Zlcm5tZW50IHNjaG9vbHMgd2hvIGNhbiBhKSByZWFkIGEgc2ltcGxlIHBhcmFncmFwaCB3aXRoIHRocmVlIHNlbnRlbmNlcywgYikgcGVyZm9ybSBzaW1wbGUgdHdvLWRpZ2l0IHN1YnRyYWN0aW9uLCBhbmQgYykgd3JpdGUgYSBzaW1wbGUgc2VudGVuY2Ugd2l0aCAyIG9yIGZld2VyIG1pc3Rha2VzLg0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlID0gRkFMU0V9DQpsaWJyYXJ5KHRpZHl2ZXJzZSk7IGxpYnJhcnkoaGF2ZW4pOyBsaWJyYXJ5KGd0KQ0KYGBgDQoNCmBgYHtyIGltcG9ydF9kYXRhfQ0KIyBTZXQgdGhlIHBhdGggZm9yIHRoZSBJSERTIDIwMTEgaW5kaXZpZHVhbCBsZXZlbCBmaWxlDQppbmRfZmlsZSA8LSBmaWxlLnBhdGgoIkM6L1VzZXJzL2RvdWdqL0RvY3VtZW50cy9EYXRhL0lIRFMvSUhEUyAyMDEyL0RTMDAwMSIsICIzNjE1MS0wMDAxLURhdGEuZHRhIikNCg0KIyByZWFkIGluIGp1c3QgdGhvc2UgdmFyaWFibGVzIHRoYXQgaSBuZWVkDQppaGRzIDwtIHJlYWRfZHRhKGluZF9maWxlLCBjb2xfc2VsZWN0ID0gYyhTVEFURUlELCBXVCwgUk81LCBDUzQsIHN0YXJ0c193aXRoKCJUQSIpKSkgJT4lIA0KICBmaWx0ZXIoIWlzLm5hKFdUKSkgIyBkcm9wIG9uZSBvYnNlcnZhdGlvbiB3aXRoIG1pc3Npbmcgd3QgdmFyaWFibGUNCg0KIyBDcmVhdGUgdmFyaWFibGVzIGZvciByZWFkaW5nLCBtYXRoLCBhbmQgd3JpdGluZyBsZXZlbHMNCmloZHMgPC0gaWhkcyAlPiUgbXV0YXRlKHJlYWRpbmcgPSAoVEE4QiA+PSAzKSwgIyBjYW4gcmVhZCBhIHNpbXBsZSBwYXJhZ3JhcGgNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGggPSAoVEE5QiA+PSAyKSwgIyBjYW4gcGVyZm9ybSBzaW1wbGUgc3VidHJhY3Rpb24NCiAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRpbmcgPSAoVEExMEIgPj0gMSkpICMgQ2FuIHdyaXRlIHNlbnRlbmNlIHdpdGggPD0yIG1pc3Rha2VzDQoNCiMgRXN0aW1hdGUgc2hhcmUgb2YgOC0xMSB5ZWFyIG9sZHMgaW4gZ292dCBzY2hvb2xzIGF0IHNwZWNpZmllZCBsZWFybmluZyBsZXZlbHMNCmloZHMgJT4lIA0KICBmaWx0ZXIoQ1M0ID09IDIpICU+JSAjIGZpbHRlciBmb3IgY2hpbGRyZW4gaW4gZ292dCBzY2hvb2xzDQogIGdyb3VwX2J5KFN0YXRlID0gYXNfZmFjdG9yKFNUQVRFSUQpKSAlPiUgDQogIHN1bW1hcmlzZShhY3Jvc3MoYyhyZWFkaW5nLCBtYXRoLCB3cml0aW5nKSwgd2VpZ2h0ZWQubWVhbiwgV1QsIG5hLnJtID0gVFJVRSksIG4oKSkgJT4lIA0KICBndCgpICU+JSANCiAgZm10X3BlcmNlbnQoDQogICAgY29sdW1ucyA9IGMocmVhZGluZywgbWF0aCwgd3JpdGluZyksDQogICAgZGVjaW1hbHMgPSAwDQogICkgDQoNCg0KYGBgDQoNCg0KDQo=