library(readr)
library(gtsummary)
library(dplyr)

ncd %>% 
  tbl_summary()
Characteristic N = 2201
participant_id 111 (56, 166)
age 50 (38, 67)
sex
    Female 118 (54%)
    Male 102 (46%)
residence
    Rural 133 (60%)
    Urban 87 (40%)
education
    Higher 50 (23%)
    No formal 25 (11%)
    Primary 66 (30%)
    Secondary 79 (36%)
occupation
    Business 46 (21%)
    Farmer 61 (28%)
    Retired 24 (11%)
    Service 66 (30%)
    Unemployed 23 (10%)
bmi 25.4 (21.3, 28.3)
systolic_bp 134 (114, 165)
diastolic_bp 91 (76, 107)
diabetes 51 (23%)
hypertension 84 (38%)
1 Median (Q1, Q3); n (%)
NA
NA
NA
NA
NA
NA
NA
NA
NA

Univariate Summary Interpretation Variable Interpretation participant_id Median ID is 111, with most IDs ranging from 56 to 166. (Not analytically meaningful, more for reference). age Median age is 50 years; the majority of participants are between 38 and 67 years old. sex 54% are female and 46% are male — more female participants in the sample. residence 60% live in rural areas and 40% in urban — rural population is higher. education Most participants have secondary education (36%), followed by primary (30%). 23% have higher education, and 11% have no formal education. occupation The most common occupations are service (30%) and farming (28%). 21% are in business. bmi Median BMI is 25.4 — which is overweight (above 24.9). Most participants fall between BMI 21.3 and 28.3. systolic_bp Median systolic blood pressure is 134 mmHg — slightly elevated, borderline hypertensive. diastolic_bp Median diastolic pressure is 91 mmHg — also slightly elevated. diabetes 23% of participants have diabetes — nearly 1 in 4 individuals. hypertension 38% of participants have hypertension — more than 1 in 3 individuals. In one line:

The sample consists mostly of rural, middle-aged individuals, with a high proportion having secondary education and working in farming or service, and a notable burden of overweight, diabetes (23%), and hypertension (38%).

ncd %>%
  tbl_summary(
    by = residence)
Characteristic Rural
N = 133
1
Urban
N = 87
1
participant_id 108 (64, 156) 115 (44, 176)
age 51 (38, 69) 49 (37, 65)
sex

    Female 74 (56%) 44 (51%)
    Male 59 (44%) 43 (49%)
education

    Higher 33 (25%) 17 (20%)
    No formal 13 (9.8%) 12 (14%)
    Primary 38 (29%) 28 (32%)
    Secondary 49 (37%) 30 (34%)
occupation

    Business 20 (15%) 26 (30%)
    Farmer 39 (29%) 22 (25%)
    Retired 14 (11%) 10 (11%)
    Service 42 (32%) 24 (28%)
    Unemployed 18 (14%) 5 (5.7%)
bmi 25.5 (21.1, 28.3) 24.9 (21.9, 28.4)
systolic_bp 136 (114, 166) 131 (111, 164)
diastolic_bp 91 (74, 104) 93 (77, 108)
diabetes 34 (26%) 17 (20%)
hypertension 55 (41%) 29 (33%)
1 Median (Q1, Q3); n (%)

Rural vs Urban Comparison (N = 2202) Variable Rural (N=1331) Urban (N=871) Interpretation Age 51 (38, 69) 49 (37, 65) Rural participants are slightly older. Sex 56% Female 51% Female Slightly more females in rural areas. Education 37% Secondary, 29% Primary 34% Secondary, 32% Primary Education levels are similar, but more higher-educated in rural (25% vs 20%). Occupation More farmers (29%) & unemployed (14%) More business (30%) Urban areas have more business professionals; rural more farming and unemployment. BMI 25.5 (21.1, 28.3) 24.9 (21.9, 28.4) BMI is slightly higher in rural areas. Systolic BP 136 (114, 166) 131 (111, 164) Rural participants have higher systolic BP. Diastolic BP 91 (74, 104) 93 (77, 108) Urban participants have slightly higher diastolic BP. Diabetes 26% 20% Diabetes is more common in rural areas. Hypertension 41% 33% Hypertension is more prevalent in rural areas. 📝 In one line:

Rural individuals tend to be older, more often farmers, with higher BP, diabetes (26%), and hypertension (41%) rates compared to urban participants.


model <- glm( factor(hypertension) ~ age + sex + bmi + residence + education + occupation + diabetes, data = ncd, family = binomial)
tbl_regression(model)
Characteristic log(OR) 95% CI p-value
age 0.00 -0.02, 0.02 0.8
sex


    Female
    Male 0.30 -0.27, 0.87 0.3
bmi -0.01 -0.07, 0.04 0.6
residence


    Rural
    Urban -0.41 -1.0, 0.18 0.2
education


    Higher
    No formal 0.52 -0.48, 1.5 0.3
    Primary 0.05 -0.72, 0.84 0.9
    Secondary 0.09 -0.66, 0.85 0.8
occupation


    Business
    Farmer -0.41 -1.2, 0.41 0.3
    Retired -0.56 -1.7, 0.49 0.3
    Service -0.12 -0.91, 0.67 0.8
    Unemployed -0.26 -1.4, 0.80 0.6
diabetes


    No
    Yes 0.06 -0.61, 0.71 0.9
Abbreviations: CI = Confidence Interval, OR = Odds Ratio
NA
NA

Outcome: Hypertension

(Logistic regression; results in log odds)

🧑‍ Age, Sex, BMI:

Age (log OR = 0.00, p = 0.8): No significant association.

Sex: Males had slightly higher odds than females (log OR = 0.30), but not statistically significant (p = 0.3).

BMI (log OR = -0.01, p = 0.6): No significant relationship with hypertension.

🌍 Residence:

Urban residents had lower odds of hypertension than rural (log OR = -0.41), but not significant (p = 0.2).

🎓 Education:

No education level (No formal, Primary, Secondary) was significantly different from Higher education in predicting hypertension (all p > 0.3).

💼 Occupation:

Compared to Business, none of the other occupations showed a significant difference in hypertension odds (all p > 0.3).

🩺 Diabetes:

Diabetics had slightly higher odds of hypertension (log OR = 0.06), but this was not significant (p = 0.9).

✅ Conclusion (in brief):

None of the predictors (age, sex, BMI, residence, education, occupation, or diabetes) showed a statistically significant association with hypertension in this model. All p-values were > 0.05, indicating no strong evidence of effect in this sample.

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCmxpYnJhcnkocmVhZHIpDQoNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoZ3RzdW1tYXJ5KQ0KbGlicmFyeShkcGx5cikNCmBgYA0KDQpgYGB7cn0NCm5jZCAlPiUgDQogIHRibF9zdW1tYXJ5KCkNCmBgYA0KVW5pdmFyaWF0ZSBTdW1tYXJ5IEludGVycHJldGF0aW9uDQpWYXJpYWJsZQlJbnRlcnByZXRhdGlvbg0KcGFydGljaXBhbnRfaWQJTWVkaWFuIElEIGlzIDExMSwgd2l0aCBtb3N0IElEcyByYW5naW5nIGZyb20gNTYgdG8gMTY2LiAoTm90IGFuYWx5dGljYWxseSBtZWFuaW5nZnVsLCBtb3JlIGZvciByZWZlcmVuY2UpLg0KYWdlCU1lZGlhbiBhZ2UgaXMgNTAgeWVhcnM7IHRoZSBtYWpvcml0eSBvZiBwYXJ0aWNpcGFudHMgYXJlIGJldHdlZW4gMzggYW5kIDY3IHllYXJzIG9sZC4NCnNleAk1NCUgYXJlIGZlbWFsZSBhbmQgNDYlIGFyZSBtYWxlIOKAlCBtb3JlIGZlbWFsZSBwYXJ0aWNpcGFudHMgaW4gdGhlIHNhbXBsZS4NCnJlc2lkZW5jZQk2MCUgbGl2ZSBpbiBydXJhbCBhcmVhcyBhbmQgNDAlIGluIHVyYmFuIOKAlCBydXJhbCBwb3B1bGF0aW9uIGlzIGhpZ2hlci4NCmVkdWNhdGlvbglNb3N0IHBhcnRpY2lwYW50cyBoYXZlIHNlY29uZGFyeSBlZHVjYXRpb24gKDM2JSksIGZvbGxvd2VkIGJ5IHByaW1hcnkgKDMwJSkuIDIzJSBoYXZlIGhpZ2hlciBlZHVjYXRpb24sIGFuZCAxMSUgaGF2ZSBubyBmb3JtYWwgZWR1Y2F0aW9uLg0Kb2NjdXBhdGlvbglUaGUgbW9zdCBjb21tb24gb2NjdXBhdGlvbnMgYXJlIHNlcnZpY2UgKDMwJSkgYW5kIGZhcm1pbmcgKDI4JSkuIDIxJSBhcmUgaW4gYnVzaW5lc3MuDQpibWkJTWVkaWFuIEJNSSBpcyAyNS40IOKAlCB3aGljaCBpcyBvdmVyd2VpZ2h0IChhYm92ZSAyNC45KS4gTW9zdCBwYXJ0aWNpcGFudHMgZmFsbCBiZXR3ZWVuIEJNSSAyMS4zIGFuZCAyOC4zLg0Kc3lzdG9saWNfYnAJTWVkaWFuIHN5c3RvbGljIGJsb29kIHByZXNzdXJlIGlzIDEzNCBtbUhnIOKAlCBzbGlnaHRseSBlbGV2YXRlZCwgYm9yZGVybGluZSBoeXBlcnRlbnNpdmUuDQpkaWFzdG9saWNfYnAJTWVkaWFuIGRpYXN0b2xpYyBwcmVzc3VyZSBpcyA5MSBtbUhnIOKAlCBhbHNvIHNsaWdodGx5IGVsZXZhdGVkLg0KZGlhYmV0ZXMJMjMlIG9mIHBhcnRpY2lwYW50cyBoYXZlIGRpYWJldGVzIOKAlCBuZWFybHkgMSBpbiA0IGluZGl2aWR1YWxzLg0KaHlwZXJ0ZW5zaW9uCTM4JSBvZiBwYXJ0aWNpcGFudHMgaGF2ZSBoeXBlcnRlbnNpb24g4oCUIG1vcmUgdGhhbiAxIGluIDMgaW5kaXZpZHVhbHMuDQpJbiBvbmUgbGluZToNCg0KVGhlIHNhbXBsZSBjb25zaXN0cyBtb3N0bHkgb2YgcnVyYWwsIG1pZGRsZS1hZ2VkIGluZGl2aWR1YWxzLCB3aXRoIGEgaGlnaCBwcm9wb3J0aW9uIGhhdmluZyBzZWNvbmRhcnkgZWR1Y2F0aW9uIGFuZCB3b3JraW5nIGluIGZhcm1pbmcgb3Igc2VydmljZSwgYW5kIGEgbm90YWJsZSBidXJkZW4gb2Ygb3ZlcndlaWdodCwgZGlhYmV0ZXMgKDIzJSksIGFuZCBoeXBlcnRlbnNpb24gKDM4JSkuDQpgYGB7cn0NCm5jZCAlPiUNCiAgdGJsX3N1bW1hcnkoDQogICAgYnkgPSByZXNpZGVuY2UpDQpgYGANClJ1cmFsIHZzIFVyYmFuIENvbXBhcmlzb24gKE4gPSAyMjAyKQ0KVmFyaWFibGUJUnVyYWwgKE49MTMzMSkJVXJiYW4gKE49ODcxKQlJbnRlcnByZXRhdGlvbg0KQWdlCTUxICgzOCwgNjkpCTQ5ICgzNywgNjUpCVJ1cmFsIHBhcnRpY2lwYW50cyBhcmUgc2xpZ2h0bHkgb2xkZXIuDQpTZXgJNTYlIEZlbWFsZQk1MSUgRmVtYWxlCVNsaWdodGx5IG1vcmUgZmVtYWxlcyBpbiBydXJhbCBhcmVhcy4NCkVkdWNhdGlvbgkzNyUgU2Vjb25kYXJ5LCAyOSUgUHJpbWFyeQkzNCUgU2Vjb25kYXJ5LCAzMiUgUHJpbWFyeQlFZHVjYXRpb24gbGV2ZWxzIGFyZSBzaW1pbGFyLCBidXQgbW9yZSBoaWdoZXItZWR1Y2F0ZWQgaW4gcnVyYWwgKDI1JSB2cyAyMCUpLg0KT2NjdXBhdGlvbglNb3JlIGZhcm1lcnMgKDI5JSkgJiB1bmVtcGxveWVkICgxNCUpCU1vcmUgYnVzaW5lc3MgKDMwJSkJVXJiYW4gYXJlYXMgaGF2ZSBtb3JlIGJ1c2luZXNzIHByb2Zlc3Npb25hbHM7IHJ1cmFsIG1vcmUgZmFybWluZyBhbmQgdW5lbXBsb3ltZW50Lg0KQk1JCTI1LjUgKDIxLjEsIDI4LjMpCTI0LjkgKDIxLjksIDI4LjQpCUJNSSBpcyBzbGlnaHRseSBoaWdoZXIgaW4gcnVyYWwgYXJlYXMuDQpTeXN0b2xpYyBCUAkxMzYgKDExNCwgMTY2KQkxMzEgKDExMSwgMTY0KQlSdXJhbCBwYXJ0aWNpcGFudHMgaGF2ZSBoaWdoZXIgc3lzdG9saWMgQlAuDQpEaWFzdG9saWMgQlAJOTEgKDc0LCAxMDQpCTkzICg3NywgMTA4KQlVcmJhbiBwYXJ0aWNpcGFudHMgaGF2ZSBzbGlnaHRseSBoaWdoZXIgZGlhc3RvbGljIEJQLg0KRGlhYmV0ZXMJMjYlCTIwJQlEaWFiZXRlcyBpcyBtb3JlIGNvbW1vbiBpbiBydXJhbCBhcmVhcy4NCkh5cGVydGVuc2lvbgk0MSUJMzMlCUh5cGVydGVuc2lvbiBpcyBtb3JlIHByZXZhbGVudCBpbiBydXJhbCBhcmVhcy4NCvCfk50gSW4gb25lIGxpbmU6DQoNClJ1cmFsIGluZGl2aWR1YWxzIHRlbmQgdG8gYmUgb2xkZXIsIG1vcmUgb2Z0ZW4gZmFybWVycywgd2l0aCBoaWdoZXIgQlAsIGRpYWJldGVzICgyNiUpLCBhbmQgaHlwZXJ0ZW5zaW9uICg0MSUpIHJhdGVzIGNvbXBhcmVkIHRvIHVyYmFuIHBhcnRpY2lwYW50cy4NCmBgYHtyfQ0KDQptb2RlbCA8LSBnbG0oIGZhY3RvcihoeXBlcnRlbnNpb24pIH4gYWdlICsgc2V4ICsgYm1pICsgcmVzaWRlbmNlICsgZWR1Y2F0aW9uICsgb2NjdXBhdGlvbiArIGRpYWJldGVzLCBkYXRhID0gbmNkLCBmYW1pbHkgPSBiaW5vbWlhbCkNCnRibF9yZWdyZXNzaW9uKG1vZGVsKQ0KYGBgDQpPdXRjb21lOiBIeXBlcnRlbnNpb24NCg0KKExvZ2lzdGljIHJlZ3Jlc3Npb247IHJlc3VsdHMgaW4gbG9nIG9kZHMpDQoNCvCfp5HigI0gQWdlLCBTZXgsIEJNSToNCg0KQWdlIChsb2cgT1IgPSAwLjAwLCBwID0gMC44KTogTm8gc2lnbmlmaWNhbnQgYXNzb2NpYXRpb24uDQoNClNleDogTWFsZXMgaGFkIHNsaWdodGx5IGhpZ2hlciBvZGRzIHRoYW4gZmVtYWxlcyAobG9nIE9SID0gMC4zMCksIGJ1dCBub3Qgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCAocCA9IDAuMykuDQoNCkJNSSAobG9nIE9SID0gLTAuMDEsIHAgPSAwLjYpOiBObyBzaWduaWZpY2FudCByZWxhdGlvbnNoaXAgd2l0aCBoeXBlcnRlbnNpb24uDQoNCvCfjI0gUmVzaWRlbmNlOg0KDQpVcmJhbiByZXNpZGVudHMgaGFkIGxvd2VyIG9kZHMgb2YgaHlwZXJ0ZW5zaW9uIHRoYW4gcnVyYWwgKGxvZyBPUiA9IC0wLjQxKSwgYnV0IG5vdCBzaWduaWZpY2FudCAocCA9IDAuMikuDQoNCvCfjpMgRWR1Y2F0aW9uOg0KDQpObyBlZHVjYXRpb24gbGV2ZWwgKE5vIGZvcm1hbCwgUHJpbWFyeSwgU2Vjb25kYXJ5KSB3YXMgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgZnJvbSBIaWdoZXIgZWR1Y2F0aW9uIGluIHByZWRpY3RpbmcgaHlwZXJ0ZW5zaW9uIChhbGwgcCA+IDAuMykuDQoNCvCfkrwgT2NjdXBhdGlvbjoNCg0KQ29tcGFyZWQgdG8gQnVzaW5lc3MsIG5vbmUgb2YgdGhlIG90aGVyIG9jY3VwYXRpb25zIHNob3dlZCBhIHNpZ25pZmljYW50IGRpZmZlcmVuY2UgaW4gaHlwZXJ0ZW5zaW9uIG9kZHMgKGFsbCBwID4gMC4zKS4NCg0K8J+puiBEaWFiZXRlczoNCg0KRGlhYmV0aWNzIGhhZCBzbGlnaHRseSBoaWdoZXIgb2RkcyBvZiBoeXBlcnRlbnNpb24gKGxvZyBPUiA9IDAuMDYpLCBidXQgdGhpcyB3YXMgbm90IHNpZ25pZmljYW50IChwID0gMC45KS4NCg0K4pyFIENvbmNsdXNpb24gKGluIGJyaWVmKToNCg0KTm9uZSBvZiB0aGUgcHJlZGljdG9ycyAoYWdlLCBzZXgsIEJNSSwgcmVzaWRlbmNlLCBlZHVjYXRpb24sIG9jY3VwYXRpb24sIG9yIGRpYWJldGVzKSBzaG93ZWQgYSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IGFzc29jaWF0aW9uIHdpdGggaHlwZXJ0ZW5zaW9uIGluIHRoaXMgbW9kZWwuIEFsbCBwLXZhbHVlcyB3ZXJlID4gMC4wNSwgaW5kaWNhdGluZyBubyBzdHJvbmcgZXZpZGVuY2Ugb2YgZWZmZWN0IGluIHRoaXMgc2FtcGxlLg0K