Skip to main content

Inequality and Religiosity: The Gini ~ Religion Matters Vector, with Correlations and Plot

Responses to a post on the correlation between country-average IQ and responding yes to a question on if religion matters are inversely correlated, but not strongly so, prompted me to dig up a more significant issue, the relationship between religiosity and inequality, as measured by the Gini coefficient.

The correlation is quite high, at about .7, although this really says nothing about the cause, if religious countries tend toward inequality because of general tendencies, or if inequality drives people to religion, as a salve against suffering. In truth, they could both be reflective of some other aspect of a country, and not in any way causative.

Example Code

 # Correlations on ReligionMatters and Gini Coeficients  
 oecdData <- read.table("OECD - Quality of Life.csv", header = TRUE, sep = ",")  
 religionMattersVector <- oecdData$ReligionMatters  
 giniVector <- oecdData$Gini  
 cor.test(giniVector, religionMattersVector)  
 lm2 <- lm(giniVector ~ religionMattersVector)  
 # Plot the chart.  
 plot(giniVector, religionMattersVector, col = "blue", main = "Gini Coefficient ~ Religion Matters Vector"
     , abline(lm(religionMattersVector ~ giniVector)), xlab = "Religion Matters", ylab = "Gini")  

Example Results

 Pearson's product-moment correlation  
 data: giniVector and religionMattersVector  

 t = 4.4676, df = 20, p-value = 0.0002359  

 alternative hypothesis: true correlation is not equal to 0  

 95 percent confidence interval:  
  0.4061694 0.8693247  

 sample estimates:  
 lm(formula = giniVector ~ religionMattersVector)  
   Min   1Q Median   3Q  Max   
 -5.400 -2.174 -1.629 1.626 7.054   
                       Estimate Std. Error t value  Pr(>|t|)    
 (Intercept)            23.597   1.989      11.866   1.66e-10 ***  
 religionMattersVector  19.810   4.434      4.468    0.000236 ***  
 Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  
 Residual standard error: 3.513 on 20 degrees of freedom  
  (2 observations deleted due to missingness)  
Multiple R-squared: 0.4995,     Adjusted R-squared: 0.4745   
 F-statistic: 19.96 on 1 and 20 DF, p-value: 0.0002359  

Sample Data

Popular posts from this blog

Decision Tree in R, with Graphs: Predicting State Politics from Big Five Traits

This was a continuation of prior explorations, logistic regression predicting Red/Blue state dichotomy by income or by personality. This uses the same five personality dimensions, but instead builds a decision tree. Of the Big Five traits, only two were found to useful in the decision tree, conscientiousness and openness.

Links to sample data, as well as to source references, are at the end of this entry.

Example Code

# Decision Tree - Big Five and Politics library("rpart") # grow tree input.dat <- read.table("BigFiveScoresByState.csv", header = TRUE, sep = ",") fit <- rpart(Liberal ~ Openness + Conscientiousness + Neuroticism + Extraversion + Agreeableness, data = input.dat, method="poisson") # display the results printcp(fit) # visualize cross-validation results plotcp(fit) # detailed summary of splits summary(fit) # plot tree plot(fit, uniform = TRUE, main = "Classific…

Chi-Square in R on by State Politics (Red/Blue) and Income (Higher/Lower)

This is a significant result, but instead of a logistic regression looking at the income average per state and the likelihood of being a Democratic state, it uses Chi-Square. Interpreting this is pretty straightforward, in that liberal states typically have cities and people that earn more money. When using adjusted incomes, by cost of living, this difference disappears.

Example Code
# R - Chi Square rm(list = ls()) stateData <- read.table("CostByStateAndSalary.csv", header = TRUE, sep = ",") # Create vectors affluence.median <- median(stateData$Y2014, na.rm = TRUE) affluence.v <- ifelse(stateData$Y2014 > affluence.median, 1, 0) liberal.v <- stateData$Liberal # Solve pol.Data = table(liberal.v, affluence.v) result <- chisq.test(pol.Data) print(result) print(pol.Data)
Example Results
Pearson's Chi-squared test with Yates' continuity correction data: pol.Data X-squared = 12.672, df …

Mean Median, and Mode with R, using Country-level IQ Estimates

Reusing the code posted for Correlations within with Hofstede's Cultural Values, Diversity, GINI, and IQ, the same data can be used for mean, median, and mode. Additionally, the summary function will return values in addition to mean and median, Min, Max, and quartile values:

Example Code
oecdData <- read.table("OECD - Quality of Life.csv", header = TRUE, sep = ",") v1 <- oecdData$IQ # Mean with na.rm = TRUE removed NULL avalues mean(v1, na.rm = TRUE) # Median with na.rm = TRUE removed NULL values median(v1, na.rm = TRUE) # Returns the same data as mean and median, but also includes distribution values: # Min, Quartiles, and Max summary(v1) # Mode does not exist in R, so we need to create a function getmode <- function(v) { uniqv <- unique(v) uniqv[which.max(tabulate(match(v, uniqv)))] } #returns the mode getmode(v1)
Example Results
> oecdData <- read.table("OECD - Quality of L…